If you want to learn more about the new storyboarding feature in iOS 5, you’ve come to the right place!
In the first part of the tutorial series, we covered the basics of using the new storyboard editor to create and connect various view controllers, along with how to make custom table view cells directly from the storyboard editor.
In this second and final part of the tutorial series, we’ll cover segues, static table view cells, the add player screen, and a game picker screen!
We’ll start where we left off last tutorial, so open your project from last time, or go through the previous tutorial first.
OK, let’s dive into some of the other cool new features in Storyboarding!
It’s time to add more view controllers to our storyboard. We’re going to create a screen that allows users to add new players to the app.
Drag a Bar Button Item into the right slot of the navigation bar on the Players screen. In the Attributes Inspector change its Identifier to Add to make it a standard + button. When you tap this button we’ll make a new modal screen pop up that lets you enter the details for a new player.
Drag a new Table View Controller into the canvas, to the right of the Players screen. Remember that you can double-click the canvas to zoom out so you have more room to work with.
Keep the new Table View Controller selected and embed it in a Navigation Controller (in case you forgot, from the menubar pick EditorEmbed InNavigation Controller).
Here’s the trick: Select the + button that we just added on the Players screen and ctrl-drag to the new Navigation Controller:
Release the mouse button and a small popup menu shows up:
Choose Modal. This places a new arrow between the Players screen and the Navigation Controller:
This type of connection is known as a segue (pronounce: seg-way) and represents a transition from one screen to another. The connections we had so far were relationships and they described one view controller containing another. A segue, on the other hand, changes what is on the screen. They are triggered by taps on buttons, table view cells, gestures, and so on.
The cool thing about using segues is that you no longer have to write any code to present the new screen, nor do you have to hook up your buttons to IBActions. What we just did, dragging from the Bar Button Item to the next screen, is enough to create the transition. (If your control already had an IBAction connection, then the segue overrides that.)
Run the app and press the + button. A new table view will slide up the screen!
This is a so-called “modal” segue. The new screen completely obscures the previous one. The user cannot interact with the underlying screen until they close the modal screen first. Later on we’ll also see “push” segues that push new screens on the navigation stack.
The new screen isn’t very useful yet — you can’t even close it to go back to the main screen!
Segues only go one way, from the Players screen to this new one. To go back, we have to use the delegate pattern. For that, we first have to give this new scene its own class. Add a new UITableViewController subclass to the project and name it PlayerDetailsViewController.
To hook it up to the storyboard, switch back to MainStoryboard.storyboard, select the new Table View Controller scene and in the Identity Inspector set its Class to PlayerDetailsViewController. I always forget this very important step, so to make sure you don’t, I’ll keep pointing it out.
While we’re there, change the title of the screen to “Add Player” (by double-clicking in the navigation bar). Also add two Bar Button Items to the navigation bar. In the Attributes Inspector, set the Identifier of the button to the left to Cancel, and the one on the right Done.
Then change PlayerDetailsViewController.h to the following:
This defines a new delegate protocol that we’ll use to communicate back from the Add Player screen to the main Players screen when the user taps Cancel or Done.
Switch back to the Storyboard Editor, and hook up the Cancel and Done buttons to their respective action methods. One way to do this is to ctrl-drag from the bar button to the view controller and then picking the correct action name from the popup menu:
In PlayerDetailsViewController.m, add the following two methods at the bottom of the file:
These are the action methods for the two bar buttons. For now, they simply let the delegate know what just happened. It’s up to the delegate to actually close the screen. (That is not a requirement, but that’s how I like to do it. Alternatively, you could make the Add Player screen close itself before or after it has notified the delegate.)
Note that it is customary for delegate methods to include a reference to the object in question as their first (or only) parameter, in this case the PlayerDetailsViewController. That way the delegate always knows which object sent the message.
Don’t forget to synthesize the delegate property:
Now that we’ve given the PlayerDetailsViewController a delegate protocol, we still need to implement that protocol somewhere. Obviously, that will be in PlayersViewController since that is the view controller that presents the Add Player screen. Add the following to PlayersViewController.h:
Currently these delegate methods simply close the screen. Later we’ll make them do more interesting things.
The dismissViewControllerAnimated:completion: method is new in iOS 5. You may have used dismissModalViewControllerAnimated: before. That method still works but the new version is the preferred way to dismiss view controllers from now on (it also gives you the ability to execute additional code after the screen has been dismissed).
There is only one thing left to do to make all of this work: the Players screen has to tell the PlayerDetailsViewController that it is now its delegate. That seems like something you could set up in the Storyboard Editor just by dragging a line between the two. Unfortunately, that is not possible. To pass data to the new view controller during a segue, we still need to write some code.
Add the following method to PlayersViewController (it doesn’t really matter where):
The prepareForSegue method is invoked whenever a segue is about to take place. The new view controller has been loaded from the storyboard at this point but it’s not visible yet, and we can use this opportunity to send data to it. (You never call prepareForSegue yourself, it’s a message from UIKit to let you know that a segue has just been triggered.)
Note that the destination of the segue is the Navigation Controller, because that is what we connected to the Bar Button Item. To get the PlayerDetailsViewController instance, we have to dig through the Navigation Controller’s viewControllers property to find it.
Run the app, press the + button, and try to close the Add Player screen. It still doesn’t work!
That’s because we never gave the segue an identifier. The code from prepareForSegue checks for that identifier (“AddPlayer”). It is recommended to always do such a check because you may have multiple outgoing segues from one view controller and you’ll need to be able to distinguish between them (something that we’ll do later in this tutorial).
To fix this issue, go into the Storyboard Editor and click on the segue between the Players screen and the Navigation Controller. Notice that the Bar Button Item now lights up, so you can easily see which control triggers this segue.
In the Attributes Inspector, set Identifier to “AddPlayer”:
If you run the app again, tapping Cancel or Done will now properly close the screen and return you to the list of players.
Note: It is perfectly possible to call dismissViewControllerAnimated:completion: from the modal screen. There is no requirement that says this must be done by the delegate. I personally prefer to let the delegate to this but if you want the modal screen to close itself, then go right ahead. There’s one thing you should be aware of: If you previously used [self.parentViewController dismissModalViewControllerAnimated:YES] to close the screen, then that may no longer work. Instead of using self.parentViewController, simply call the method on self or on self.presentingViewController, which is a new property that was introduced with iOS 5.
By the way, the Attributes Inspector for the segue also has a Transition field. You can choose different animations:
Play with them to see which one you like best. Don’t change the Style setting, though. For this screen it should be Modal — any other option will crash the app!
We’ll be using the delegate pattern a few more times in this tutorial. Here’s a handy checklist for setting up the connections between two scenes:
Create a segue from a button or other control on the source scene to the destination scene. (If you’re presenting the new screen modally, then often the destination will be a Navigation Controller.)
Give the segue a unique Identifier. (It only has to be unique in the source scene; different scenes can use the same identifier.)
Create a delegate protocol for the destination scene.
Call the delegate methods from the Cancel and Done buttons, and at any other point your destination scene needs to communicate with the source scene.
Make the source scene implement the delegate protocol. It should dismiss the destination view controller when Cancel or Done is pressed.
Implement prepareForSegue in the source view controller and do destination.delegate = self;.
Delegates are necessary because there is no such thing as a reverse segue. When a segue is triggered it always creates a new instance of the destination view controller. You can certainly make a segue back from the destination to the source, but that may not do what you expect.
If you were to make a segue back from the Cancel button to the Players screen, for example, then that wouldn’t close the Add Player screen and return to Players, but it creates a new instance of the Players screen. You’ve started an infinite cycle that only ends when the app runs out of memory.
Remember: Segues only go one way, they are only used to open a new screen. To go back you dismiss the screen (or pop it from the navigation stack), usually from a delegate. The segue is employed by the source controller only, the destination view controller doesn’t even know that it was invoked by a segue.
When we’re finished, the Add Player screen will look like this:
That’s a grouped table view, of course, but the new thing is that we don’t have to create a data source for this table. We can design it directly in the Storyboard Editor, no need to write cellForRowAtIndexPath for this one. The new feature that makes this possible is static cells.
Select the table view in the Add Player screen and in the Attributes Inspector change Content to Static Cells. Set Style to Grouped and Sections to 2.
When you change the value of the Sections attribute, the editor will clone the existing section. (You can also select a specific section in the Document Outline on the left and duplicate it.)
Our screen will have only one row in each section, so select the superfluous cells and delete them.
Select the top-most section. In its Attributes Inspector, give the Header field the value “Player Name”.
Drag a new Text Field into the cell for this section. Remove its border so you can’t see where the text field begins or ends. Set the Font to System 17 and uncheck Adjust to Fit.
We’re going to make an outlet for this text field on the PlayerDetailsViewController using the Assistant Editor feature of Xcode. Open the Assistant Editor with the button from the toolbar (the one that looks like a tuxedo / alien face). It should automatically open on PlayerDetailsViewController.h.
Select the text field and ctrl-drag into the .h file:
Let go of the mouse button and a popup appears:
Name the new outlet nameTextField. After you click Connect, Xcode will add the following property to PlayerDetailsViewController.h:
It has also automatically synthesized this property and added it to the viewDidUnload method in the .m file.
This is exactly the kind of thing I said you shouldn’t try with prototype cells, but for static cells it is OK. There will be only one instance of each static cell (unlike prototype cells, they are never copied) and so it’s perfectly acceptable to connect their subviews to outlets on the view controller.
Set the Style of the static cell in the second section to Right Detail. This gives us a standard cell style to work with. Change the label on the left to read “Game” and give the cell a disclosure indicator accessory. Make an outlet for the label on the right (the one that says “Detail”) and name it detailLabel. The labels on this cell are just regular UILabel objects.
The final design of the Add Player screen looks like this:
When you use static cells, your table view controller doesn’t need a data source. Because we used an Xcode template to create our PlayerDetailsViewController class, it still has some placeholder code for the data source, so let’s remove that code now that we have no use for it. Delete anything between the:
#pragma mark - Table view data source
#pragma mark - Table view delegate
lines. That should silence Xcode about the warnings it has been giving us ever since we added this class.
Run the app and check out our new screen with the static cells. All without writing a line of code — in fact, we threw away a bunch of code!
We can’t avoid writing code altogether, though. When you added the text field to the first cell, you probably noticed it didn’t fit completely, there is a small margin of space around the text field. The user can’t see where the text field begins or ends, so if they tap in the margin and the keyboard doesn’t appear, they’ll be confused. To avoid that, we should let a tap anywhere in that row bring up the keyboard. That’s pretty easy to do, just add replace the tableView:didSelectRowAtIndexPath method with the following:
This just says that if the user tapped in the first cell we activate the text field (there is only one cell in the section so we’ll just test for the section index). This will automatically bring up the keyboard. It’s just a little tweak, but one that can save users a bit of frustration.
You should also set the Selection Style for the cell to None (instead of Blue) in the Attributes Inspector, otherwise the row becomes blue if the user taps in the margin around the text field.
All right, that’s the design of the Add Player screen. Now let’s actually make it work.
The Add Player Screen at Work
For now we’ll ignore the Game row and just let users enter the name of the player, nothing more.
When the user presses the Cancel button the screen should close and whatever data they entered will be lost. That part already works. The delegate (the Players screen) receives the “did cancel” message and simply dismisses the view controller.
When the user presses Done, however, we should create a new Player object and fill in its properties. Then we should tell the delegate that we’ve added a new player, so it can update its own screen.
So inside PlayerDetailsViewController.m, change the done method to:
The done method now creates a new Player instance and sends it to the delegate. The delegate protocol currently doesn’t have this method, so change its definition in PlayerDetailsViewController.h file to:
This first adds the new Player object to the array of players. Then it tells the table view that a new row was added (at the bottom), because the table view and its data source must always be in sync. We could have just done a [self.tableView reloadData] but it looks nicer to insert the new row with an animation. UITableViewRowAnimationAutomatic is a new constant in iOS 5 that automatically picks the proper animation, depending on where you insert the new row, very handy.
Try it out, you should now be able to add new players to the list!
If you’re wondering about performance of these storyboards, then you should know that loading a whole storyboard at once isn’t a big deal. The Storyboard doesn’t instantiate all the view controllers right away, only the initial view controller. Because our initial view controller is a Tab Bar Controller, the two view controllers that it contains are also loaded (the Players scene and the scene from the second tab).
The other view controllers are not instantiated until you segue to them. When you close these view controllers they are deallocated again, so only the actively used view controllers are in memory, just as if you were using separate nibs.
Let’s see that in practice. Add the following methods to PlayerDetailsViewController.m:
We’re overriding the initWithCoder and dealloc methods and making them log a message to the Debug Area. Now run the app again and open the Add Player screen. You should see that this view controller did not get allocated until that point. When you close the Add Player screen, either by pressing Cancel or Done, you should see the NSLog from dealloc. If you open the screen again, you should also see the message from initWithCoder again. This should reassure you that view controllers are loaded on-demand only, just as they would if you were loading nibs by hand.
One more thing about static cells, they only work in UITableViewController. The Storyboard Editor will let you add them to a Table View object inside a regular UIViewController, but this won’t work during runtime. The reason for this is that UITableViewController provides some extra magic to take care of the data source for the static cells. Xcode even prevents you from compiling such a project with the error message: “Illegal Configuration: Static table views are only valid when embedded in UITableViewController instances”.
Prototype cells, on the other hand, work just fine in a regular view controller. Neither work in Interface Builder, though. At the moment, if you want to use prototype cells or static cells, you’ll have to use a storyboard.
It is not unthinkable that you might want to have a single table view that combines both static cells and regular dynamic cells, but this isn’t very well supported by the SDK. If this is something you need to do in your own app, then see here for a possible solution.
Note: If you’re building a screen that has a lot of static cells — more than can fit in the visible frame — then you can scroll through them in the Storyboard Editor with the scroll gesture on the mouse or trackpad (2 finger swipe). This might not be immediately obvious, but it works quite well.
The Game Picker Screen
Tapping the Game row in the Add Player screen should open a new screen that lets the user pick a game from a list. That means we’ll be adding yet another table view controller, although this time we’re going to push it on the navigation stack rather than show it modally.
Drag a new Table View Controller into the storyboard. Select the Game table view cell in the Add Player screen (be sure to select the entire cell, not one of the labels) and ctrl-drag to the new Table View Controller to create a segue between them. Make this a Push segue and give it the identifier “PickGame”.
Double-click the navigation bar and name this new scene “Choose Game”. Set the Style of the prototype cell to Basic, and give it the reuse identifier “GameCell”. That’s all we need to do for the design of this screen:
Add a new UITableViewController subclass file to the project and name it GamePickerViewController. Don’t forget to set the Class of the Table View Controller in the storyboard to link these two.
First we shall give this new screen some data to display. Add a new instance variable to GamePickerViewController.h:
That should do it as far as the data source is concerned. Run the app and tap the Game row. The new Choose Game screen will slide into view. Tapping the rows won’t do anything yet, but because this screen is presented on the navigation stack you can always press the back button to return to the Add Player screen.
This is pretty cool, huh? We didn’t have to write any code to invoke this new screen. We just dragged from the static table view cell to the new scene and that was it. (Note that the table view delegate method didSelectRowAtIndexPath in PlayerDetailsViewController is still called when you tap the Game row, so make sure you don’t do anything there that will conflict with the segue.)
Of course, this new screen isn’t very useful if it doesn’t send any data back, so we’ll have to add a new delegate for that. Add the following to GamePickerViewController.h:
This adds a new ivar, selectedIndex, and synthesizes the properties.
Then add the following line to the bottom of viewDidLoad:
selectedIndex =[games indexOfObject:self.game];
The name of the selected game will be set in self.game. Here we figure out what the index is for that game in the list of games. We’ll use that index to set a checkmark in the table view cell. For this work, self.game must be filled in before the view is loaded. That will be no problem because we’ll do this in the caller’s prepareForSegue, which takes place before viewDidLoad.
First we deselect the row after it was tapped. That makes it fade from the blue highlight color back to the regular white. Then we remove the checkmark from the cell that was previously selected, and put it on the row that was just tapped. Finally, we return the name of the chosen game to the delegate.
Run the app now to test that this works. Tap the name of a game and its row will get a checkmark. Tap the name of another game and the checkmark moves along with it. The screen ought to close as soon as you tap a row but that doesn’t happen yet because we haven’t actually hooked up the delegate.
In PlayerDetailsViewController.h, add an import:
And add the delegate protocol to the @interface line:
This is similar to what we did before. This time the destination view controller is the game picker screen. Remember that this happens after GamePickerViewController is instantiated but before its view is loaded.
The “game” variable is new. This is a new instance variable:
If you’ve worked with nibs before, then initWithCoder will be familiar. That part has stayed the same with storyboards; initWithCoder, awakeFromNib, and viewDidLoad are still the methods to use. You can think of a storyboard as a collection of nibs with additional information about the transitions and relationships between them. But the views and view controllers inside the storyboard are still encoded and decoded in the same way.
Change viewDidLoad to display the name of the game in the cell:
All that remains is to implement the delegate method:
#pragma mark - GamePickerViewControllerDelegate-(void)gamePickerViewController:(GamePickerViewController *)controller
game = theGame;
self.detailLabel.text = game;
This is pretty straightforward, we put the name of the new game into our game ivar and the cell’s label, and then we close the Choose Game screen. Because it’s a push segue, we have to pop this screen off the navigation stack to close it.
Our done method can now put the name of the chosen game into the new Player object:
How Send Select From Popover Ios XcodeProgrammatic Segue IosXcode Custom Storyboard Transitions AnimatedPrepare For Segue Storyboard Xcode4Storyboard Init ProgramaticallyIos Page Control StoryboardObjective-c Button Push Modal Popover ReplaceXcode Storyboard Popover SizeTransfer Values Through SeguesIos Custom Segue InitIos Storyboard Conditional SegueHow To Add Page Control Data In XcodeIos Storyboard OutletUiscrollview StoryboardHow To Set Select Tag Value Using In Pdf Contents In Splitview Controller In IpadXcode Detect Silent Mode In Ios 5Storyboard OutletXcode Storyboard Uitableviewcell Navigation BarDismissviewcontrolleranimated RotationIos5 Connect A Custom Uiview To A StoryboardStoryboard Connect Tab Bar ControllerHow To Synchronize Two UiwebviewHow Popover From Button Bar Ios XcodePopover Examples Ios UitextviewHow To Present Popover From Barbutton Item With Storyboard And DismissIos Uiwebview StoryboardCustomize Uitableviewcell StoryboardStoryboard Change Uinavigation Toolbar ColorAdding Subview Behind View IosQlpreviewcontroller UipagecontrolXcode Storyboard LocalizationXcode Popover Keyboard Hide On Background TouchObjective-c Ios5 Uiwebview Modify PopoverIos5 Display Modal SubviewIos Storyboard Pushviewcontroller By CodeIbaction From Table View To WebviewSkip Slider Forword On Button Action In XcodeSwipe Gesture Uitableviewcell StoryboardXcode Conditional SegueIos Popover Segue With No Anchor ErrorXcode Popup Window Ios 5Xcode Passing Data Back On Dismissmodal ViewUitableviewcell Uitextfield Identifier StoryboardLink Outlet Uiwebview In Iphone Sdk 5How To Create Multiple Views Programatically In StoryboardXcode Storyboard SubviewStoryboards WebviewIos 5 UipagecontrolIos Tabbar ScrollPagecontrol In XcodePlaying Video In Ios 5 Object-cStoryboard Performsegue Has No Segue With IdentifierHow To Delete An Item On Xcode StoryboardStoryboard Move SegueStoryboard SubviewHow To Bind Action To Bar Button Item XcodeXcode Table View, Pictures With Sections Static CellsOcjective C Multiple Table Views On A Single ScreenXcode Storyboard RotateColor For The Save Button UinavigatorIos Table Multiple Accessories Checkmark DetailPerform Segue Programmatically Doesn't WorkUipagecontrol StoryboardAdd Background Image View Controller XcodeStoryboard Ios Close ModalLocalization Storyboard TutorialHow To Show New View In Popup Mode On Click Event In IosHow To Set Animation To False In Storyboard Modal SegueXcode 5 Storyboard Start ArrowIos Storyboard Conditional Start ViewXcode Subview Page SheetHow To Insert A Toolbar As In Imageviewer In IosIos Custom Segue AnimationIos Uitoolbar Keyboard StoryboardXcode Uibutton Double Click On ButtonXcode Search Bar StoryboardUitableview How To Display And Hide Table Cells Based On Conditions In IphoneObjective-c Uiwebview Modify Popover With New DesignPopover Uitableviewcell StoryboardXcode Open ViewcontrollerInitialize Textfield StoryboardSwipe Open View Xcode TutorialPushviewcontroller Opening Blank View On StoryboardCustom Segue Storyboard With BlankStoryboard Hide UitabbarIos Storyboard Dyamically Create ButtonsIos Dismiss Popover Storyboard SegueXcode Table Cell To LinkHow To Add Bar Button Item In Uitableview ProgrammaticallyAdd A New View To A StoryboardUiwebview StoryboardHow To Call A Modal Programmatically In Ios'could Not Find A Storyboard Named 'tableviewcontroller'Info Button StoryboardHow To Show Data In Textbox In XcodeHow To Hide Disclosure Indicator In Objective CTutorial To Display Display Datepicker On Tapping On Textfield In IosAdd Tabbar Selector StoryboardUiviewcontroller Segue Destination View Controller Change TextXcode Subview StoryboardUsing Segue With Tabbar ItemHowto Image Button In Storyboard IosUsing A Uiscrollview As Subview In StoryboardIos Storyboard Table Edit Mode SelectUitableview Storyboard ExampleMainstoryboard - Tabbed Bar Controller SampleData Pass Popover IosBackgroundtap Uiview StoryboardIos Storyboard Popover TutorialIos 5 Storyboard LocalizationPlist Sub Uitableview'could Not Find A Storyboard NamedPassing Web Address Through Storyboard SegueIos Universal App Storyboard Reused ScenesCreate 3d Table Cells XcodeIos Dev Popup Keypad From ButtonXcode Table Cell Push To TabbarcontrollerHow To Open Pdf File Ibaction Programmatically IosPopover Uiviewcontroller Content Size StoryboardSdk Iphone Mainstoryboard PushStoryboard How To Connect Outlet To AppdelegateXcode Ios Login Screen Modal PanelXcode Scenes And SeguesXcode Remove Storyboard ElementNavigation Controller IosXcode Text Field CellHow Set Style Of Controls In XcodeStoryboard Dismiss PopoverIos Programming Code To Show Another ViewIos Could Not Find A Storyboard NamedPresent Pdf Files On Differnt Uiviews ProgramticallyHow To Access Left Delete Button In Table View Cell Objective CContact List In Sendmessage Button In XcodeXcode Set Webview Referencing OutletCall Storyboard View Programmatically XcodeObjective C Uitableviewcontroller Add SearchAddsubview Storyboard PropertyIos 5 Xcode Storyboard Tableview Two Array ButtonSegmentation Entre Uiview StoryboardSubview Ios StoryboardIos5 Storyboard Static Uitableviewcell Doesn't WorkIos Storyboard PopoverLabel And Uiscrollview StoryboardDismiss A Popup TableviewIos Storyboard Add View To Tab ControlProgress View UitableviewcellSearch Bar Uitableview Ios 5 StoryboardXcode Video Playback On IpadIos Show An Animated Popup On A View ClickStoryboard Uitableviewcontroller Form SheetStoryboard Reorder ViewsAddsubview StoryboardSearch Bar Outside Of Table View StoryboardIos Gui Xcode ExamplesIos Xcode Slide Up Panel With ButtonsHow To Add Textfield To The Static Cell In Xcode Ios 5Xcode Navigation Item Back ButtonPass Data From Uitableview To UiwebviewUsing Pagecontrol For Two Uitableviews IphoneIos 5 Cell NibUinavigationbar Interfere From ParentMerge The Uiview From Both Sides To The Centre Of The View With Animation In XcodeIos5 Not Hide Keyboard ModalUsing Datepicker In A StoryboardStoryboard Uitableview Scroll HorizontalIos 5 Popover TutorialObjective C Segue ReplaceIphone Ios 5 Don't Release Subview In CellDrag Arrow From One Static Point To Otherpoint Cocos2d IosWrite Code For Navugation Bar Programatically In XcodeIos5 How To Switch Localization ProgrammlyReusable Uiwebview In UiscrollviewStoryboard Uiview SubclassSending Datsa To Uipopover DelegateStoryboard LocalizationAnimate Existing Button XcodeXcode 4 Tutorial Storyboards Data SharingXcode Popover TableviewXcode Storyboard Empty Array Table ViewIos Navigation Bar Button Item NextIos Sdk How To Tableview Avoid Covered By KeyboardPreparesegue Sender Tag ButtonTabbar Center Button StoryboardCerrar Modal Objetive CXcode Video Playback StoryboardSwipe Gesture, Uitableviewcell, StoryboardStoryboard Set Uitableview WidthIos How To Dismiss Modal When Click On KeyboradCreate A Pop Up And Sound Button XcodeHow To Create Outlet Variable In StoryboardStoryboard Segue B/w Table And Uitabbarcontroller In Ios 5 IphoneUsing Uibutton Programmatically To Move To UitableviewcontrollerIs It Possible To Create An Outlet On A Text ViewUnable To Set Uitableviewcell Background Color Using StoryboardsIos Xcode Value From SubviewUipagecontrol Step By Step Xcode4Ios Popover In Table CellIos Development Remove Animation From Segue PushHow To Give Id To Textbox XcodeObjective C Cell Add Sub Segment ControlXcode Storyboards LocalizationXcode Storyboard ReloadHow Can I Get Data From Cloud In A Webview Iphone Objective CPerformsegue Ios Which View ControllerUistoryboard AwakefromibKool Uiwebviewdelegate ExampleStoryboard Uitableview Plist DataIos5 Page Control TutorialTwo Uitableview In One Uiviewcontroller In Objective CIos Navigation Controller ButtonHow To Change Textbox Properties In XcodeUibutton Storyboard ConnectIos Sdk Table Cell Disclosure IndicatorHow Popover From Button Ios XcodeGlkviewcontroller Scroll LandscapeXcode Pass ObjectStoryboard Modal Segue Uiviewcontroller DeallocHow To Navigate A Popover Into A View In IosXcode Storyboard Tableview Load TxtIos5 PagecontrolDisable A Navigation Bar While Pop Up Is Visible Objective-cAdd A Segue Programmatically Ios SdkUitableview Tutorial StoryboardQlpreviewcontroller Splitscreen ExampleDidselectrowatindexpath Dismiss Storyboard Segue PopoverIos Uiviewcontroller Tableview StoryboardStoryboard Ios5 PickerProgrammaticaly Storyboard Switch UiviewXcode Navigation Modal View Go Back To Stack That Called Modal ViewIos Initial Modal Login ViewAdd View Progrmmatically Storyboard IphoneTriggering A Segue Programmatically StoryboardsIos5 Popover Segue TutorialPass Variable Between Two Views XcodeCan No Longer Dismissmodalviewcontroller After PopoverUitableview Push Uiwebview Using SeguesModal Uiview Show Toolbar And Bottom BarTab Bar Xcode UiwebviewXcode Refresh Uitableview After DismissmodalviewBar For Picking Colors XcodeStoryboard Tabbarcontroller SplitviewcontrollerModal Segue AutorotateIos Call Modalview Put VarStoryboard Segue Parentviewcontroller Of Form SheetStoryboard Segue PassthroughXcode Sound Play Ios5How To Combine Tab Bar With Nav Bar Using Storyboard Iphone SdkIos5 Add Web View To Tab Bar ControllerHow To Add Static Cells To Tableview IosPrepareforsegue Not Called From The ButtonXcode Storyboard Localized SyncStoryboard Drag Uitableviewcell Dynamic OutletIos Popover Navigation Bar Pass ThroughIos Example Friends Facebook Table StoryboardReplace Tableviewcontroller Of Navigationcontroller With FlipHide Tab Controller XcodeHow To Open View Controller Programmatically Ios5Ios Objective-c Popup Segue ClosePush Text From Prototype Cell To Detail ViewStoryboard Swipe Modal BackAdd Uiview In StoryboardHow To Capture Uitabbardelegate In StoryboardConditional Segue IosUisplitviewcontroller Example StoryboardPerformseguewithidentifier Modal Doesn't WorkIos Create Uitoolbar With StoryboardsObjective C Segue TypesIos Switch Between Views With Swipe GesturesIphone Dev Mainstoryboard Segue Push ViewcontrollerDismissing Modal Controller Ios Using Delegation Ios5Ios Segue Use Popove In Ipad App Otherwise PushIphone Button Click Action Add Pop Up UitableviewConnect Outlet To StoryboardAdd Custom Info Buttom StoryboardInstance View Programmatically StoryboardIphone Multiple Table Views Searchdisplaycontroller Set WidthUisearchdisplaycontroller Prototype CellEdit Button In Table View Ios 5Tutorial Add Segment To UitableviewUiwebview Storyboard ExampleSearch Tab StoryboardXcode Data Sharing Between ViewcontrollerIos 5 Perform SegueTab Bar Programmatically With StoryboardXcode Tutorials Uiwebview Tab Bar StoryboardIos Null Anchor Prototype Cell SegueIos Set Navigation Bar Title ProgrammaticallySdk Segue Modal To New View And DismissPagecontrol Ios5Storyboard Uinavigation UitableviewIos Tabbar Storyboard Segue Tabbar LostXcode Segue Navigationbar DisappearUsing Segues To Go To A New Page In XcodeStoryboard Segue Anchor PassthroughXcode Ipad Anchor ControlHow To Load Ipad Storyboard ProgramicallyIos Sdk5 SearchbarObjective-c Storyboard-beispielIos Table View ArrowIos5 Textbox Click EventScrollview Storyboard Bigger Height Than Viewcontroller VideoObjective C Ipad Storyboard HorizontalName New Row In Table View Via Text Field Ios 5 PdfXcode Looses Link To Table CellCustom Size Popover Ios StoryboardInfinitecustom TabbarcontrollerHow To Add A Uitableviewcontroller In Side Uiview StoryboardTab Bar Bottom Of Uitableview StoryboardProgrammatically Move Between Views Ios Tab Controller 5Ios5sequeIos Animation With Text Field Example In IphoneXcode Tableview 3d Style IosCreate Segue Modal View ProgramaticallyHow To Add Button In Table Cell By Calling Method In XcodeHow To Build Indexed Uitable In XcodeWhat Is Prompt Back Button Storyboard Navigation BarXcode Storyboard Add Close Button For ModalLogin Screen Storyboard Tab ControllerAgregar Items Uitablecellview Objective CModal Login Uiviewcontroller StoryboardIos 5 Uisplitview Storyboard TutorialXcode Storyboard Tableview Property NilIos Localization OutletMapkit Prepare For Segue Sender TagClose For Form Sheet Xcode 4Objective C Add Slider To Custom Cell In StoryboardsConditional Navigation StoryboardIos Horizontal StoryboardIos Storyboard LocalizationIos 5 Storyboard Add LocalizationIos Sdk Programmatically Calling SequeXcode Add Video Subview BlackXcode Ios Add Pagecontrol To Table ViewXcode Webview Tutorial IosBeginning Ios Storyboarding With Xcode PdfHow To Use Mapview In StoryboardAdd Subview StoryboardWebview Toolbar Xcode StoryboardConditionally Load View Controller Segue In The BeginningStoryboard Add Info ButtonBlack Box When Hidding Tabbar XcodeNavigation Controller Tint Change In StoryboardBlank Populated Cell After Rotate XcodeWhether It Is Possible To Add Custom Tableviewell In StoryboardXcode Prototype CellsObjective C UipagecontrolConnect Viewcontroller Is Nil To App DelegateIt Is Possible Custom Page Control In XcodeIos 5 View Controller As Subview StoryboardStatic Table View Referencing OutletUniversal Application Ios Create Uitableview Programmatically And Add User InputXcode Dismiss Modal View All FormIpad Modal Segue From SplitviewcontrollerPerformsegue Passing ParametersUi Popover Navigation Controller Storyboard Size AdjustIpad Horizontal Scroll Controller Swipe Like Segment Controller In Objective CStoryboard Segue Page SheetReorder Items Ios StoryboardIos5 Storyboard Hooking Up Progress BarIos 5 Used Ib To Add Subview And Controls Don't WorkStoryboard Add SubviewStoryboard Uncategorized Compilation FailedSwiping Views With StoryboardSendemail Ios 5 ExampleUidatepicker With Ios5 StoryboardObjective C Storyboard Popover NavigationIos Popover Example StoryboardObjective C Switch View Controller StoryboardCustomsegue TutorialPass Parameters In Tab View Controller XcodeAdding Ios 5 Table View Object To A View SceneIpad Popover Anchor TablecellXcode Webview StoryboardProper Way To Do “conditional Segue” In Ios5Add Item Popover IosIos Load Storyboard From ProgrammaticallyUisplitviewcontroller Replace Detail SegueHow To Access Textbox Data Objective CIpad Storyboard Multiple ViewsXcode New Referencing Outlet CrashesCustom Uitableview Objective C Ios 5 StoryboardAdd A Modal Subview XcodeFlip Animation In UitableviewcellIos Segue Uitableviewcell Not FiringIos Form Sheet Disappear StoryboardMain Storyboard Link To Pdf UiwebviewSet Uitoolbar Button Iphone NavigationcontrollerTpagecontrol AddbuttonHow To Make Roulette Wheel Programmatically In Objective-cXcode Pagecontrol Example StoryboardIos Sdk Get Segue SenderIos Datepicker Storyboard ExampleIos5 How To Close Popup ViewStoryboard UitableviewcontrollerUitableviewcontroller Working Along But Not In SubviewOvjective C- Uncategorized Compilation FailedGet Navigationcontroller From StoryboardObjective-c Transparent UipagecontrolCocoa DismissviewcontrolleranimatedPassthrough, Storyboard Segue, AnchorIphone Sms Tableview Keyboard HideButton Inside Storyboard CrashesStoryboard Popover Dynamic CellXcode Setting Button In StoryboardXcode Storyboard OutletUitableview Detail View StoryboardPass Data With Segue In MonotouchIos Custom Keyboard StoryboardTransition Uiview Xcode Point IndicatorQlpreviewcontroller Bottom LineUisegmentedcontrol Switch StoryboardIos Storyboard Property ReferenceHow Can I Give Customize Action In A Button To View Another Window In StoryboardUncategorized Compilation FailedTab Tag Sender IosClose Textbox When Clicked Anywhere On Form XcodeIos Custom TableHow To Hide Controls , Move Controller In Objective CPrepare For Segue Viewcontroller TableviewSubviews In StoryboardUncategorized Compilation Failed XcodeIos Storyboard DatepickerIos 5 Seque On SwipeHow To Deal With Slider Action In Iphone Xcode DesignStatic Uiwebview SampleObjective C Add A Custom Subview Ios 5How To Hide The Splitviewcontroller In Tableviewcell In IphoneUiwebview Xcode Storyboard Sample ProjectPass Another View Controller Programmatically IosIos 5 Send Email ProgrammaticallyHow To Do Horizontal Scrolling Like Appstore In XcodeStoryboard Show PopiverObjective C Storyboard Access Variable Viewcontroller OpenedStoryboards Scene For PopoverShow Uiview As Popup To UitableviewIos5, Add Done Button To Datepicker With StoryboardTab Bar Passing Data Custom DelegateAccess To Tabview Controller StoryboardXcode Ios Modal Segue BottombarPush Flip In Tabbar StoryboardToolbar Show Animate Xcode Hidden StoryboardClose Keyboard Ios StoryboardXcode 4 Popover TutorialAdd Popover To ButtonClose Pupup IosSegue Class For Horizontal SwipeHow To Create A Login Page In XcodeUitableviewcell Add Check Mark In Middle Of Cell In Objective C Xcode IphoneSegue Replace StyleSplitviewcontroller Storyboard Passing DataMenu Bar Button Ios IbactionXcode Storyboard Page ControlXcode Tutorial Segue ProgrammaticallyTableview Select Xcode4 StoryboardIos Sdk Mode Than One UipagecontrolCould Not Find A Segue Class NamedUisearchbar Core Data TutorialFlip Animation Storyboard IosProgress View Xcode Visible StoryboardHow To Use Buttom Click Change UisplitviewcontrollerSegue From Dynamic Cell To PopoverIos 5 Table Cell ActionPerform Segue Modal ViewShow Popover Storyboard IphoneIos Table View Check MarkHow To Configure Static Table Cells In Ios StorybookObjective C Search Bar ModalStoryboard View To TabbarcontrollerIpad Storyboard, Split ScreenIos5 Page Control With TableviewXcode Storyboard MemoryPage Control Example Ios5Xcode Storyboard SubviewsHow To Make Elements Reorganize When Key Pad Pops Up Objective CIos Programmatically Move ControllerUiscrollview Storyboard And KeyboardSplitviewcontroller Uitableviewcell SwipeIos5 Create A Reload Cycle By Button In TebleviewUiview Storyboard OutletProgramatically Click Navigationitem IosStoryboard Override Backbutton TitleSegue Modal BlankStoryboard SplitscreenXcode Pass Parameter From NavigationcontrollerProgrammatically Init StoryboardXcode Delegate Uibutton Back PersonalizeXcode Close Popover CellXcode SeguesHow To Add A Segment Controller That Sorts Table ViewPush Segue TabviewcontrollerPush View Up So Keyboard Does Not Hide Fields IosStoryboard Bar Button Items MultiplePopover Tutorial Ios5Button In Table View Open Diferent Views XcodeObjective C Uiwebview A Pdf Stored In My PlistIos Scrollview Big TexturesXcode Application Variable Storyboard TutorialStoryboard View SwitchviewObjc Cocoa Storyboard TutorialCustom Uitableviewcell Storyboard Other ViewStoryboard Attributes LocalizedSegue Style Modal View SizeXcode Storyboard UiwebviewSearch Bar Action In StoryboardAlways Visible On Uitableview StoryboardUisplitviewcontroller Replace SegueXcode Ios 5 Tableview Can Scroll HorizontalWhen Swiping Uitableviewcell Attach To FingerNot Used Mainstoryboard In Uinavigationcontroller Examples IphoneObjective C Make Bottom Bar VisibleIos 5 How Pass From One UiviewCocoa Storyboard Segue TutorialIphone Dev Storyboard Pop ActionCustom Size Uiview StoryboardUibutton Prototype CellIpad Storyboard Popover