Re: Storyboard - container view - embed different views based on condition
Re: Storyboard - container view - embed different views based on condition
- Subject: Re: Storyboard - container view - embed different views based on condition
- From: Rick Mann <email@hidden>
- Date: Fri, 16 Aug 2013 22:05:50 -0700
On Aug 16, 2013, at 21:09 , Devarshi Kulshreshtha <email@hidden> wrote:
> In my storyboard app I have view hierarchy like this:
>
>
> 1. ParentViewController has a container view (dragged and dropped the
> container view from library on to the view of parent view controller).
>
>
> 2. Container view can embed one of the three view controllers, based on
> some condition.
>
>
> While implementing second point I am facing problem.
>
>
> If I try to do it in storyboard by control dragging from container view to
> a view controller, I can select viewDidLoad - embed segue. This will
> automatically embed the destination view controller, but then I will have
> no option to embed other view controllers based on some condition, say on
> tap of a different button.
>
>
> Can anyone suggest me how can I implement the 2nd point?
As far as I can tell, you can't do this with segues alone. You need to handle the embedding yourself, and the segue seems useless for any kind of dynamic container.
This doc shows you how to add and remove child view controllers. It's not hard:
http://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/CreatingCustomContainerViewControllers/CreatingCustomContainerViewControllers.html#//apple_ref/doc/uid/TP40007457-CH18-SW12
You can make the view hierarchy in the same storyboard, just no segue to it (in which case the view controllers will need an identifier so you can get at them), or you can make separate xibs.
--
Rick
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden