ios - How to access properties from view after it loaded -
storyboard:

constraints:

result:

i'm trying understand autolayout , how can use inside container.
i got default viewcontroller made me when opened storyboard. put view container inside there. , added loose (not connected anything) viewcontroller. want content inside new viewcontroller put in container.
so added viewcontroller put inside container consists of 3 labels using autolayout.
clicking on black bar container view controller in storyboard go identity inspector , set custom class "containerviewcontroller". set storyboard id "childcontroller" loose view controller.
then override viewdidload in containerviewcontroller.m:
- (void)viewdidload { [super viewdidload]; uiviewcontroller *child = [self.storyboard instantiateviewcontrollerwithidentifier:@"childcontroller"]; [self addchildviewcontroller:child]; [self.view addsubview:child.view]; } why won't constraints autolayout work when put in container? hoped would, take further uipageviewcontroller.
edit:
so seems frame size. need before adding sub view:
child.view.frame = cgrectmake(0, 0, 265, 370); now created outlet container in viewcontroller.h.
@property (weak, nonatomic) iboutlet uiview *container; but.. containerviewcontroller, how can ask presenting view controller (viewcontroller) of property when it's not set yet?
viewcontroller *parent = (viewcontroller*)self.presentingviewcontroller; uiview *container = parent.container; nslog(@"parentview container width: %f, height: %f", container.frame.size.width, container.frame.size.height); it gave me 0 width , height, because view hasn't loaded yet. later on when loads, actual values..
nslog(@"view controller container. width: %f, height: %f", self.container.frame.size.width, self.container.frame.size.height); the question: how can access properties of presentingviewcontroller when ready/loaded?
when adding child view controller should set view frame
uiviewcontroller *child = [self.storyboard instantiateviewcontrollerwithidentifier:@"childcontroller"]; [self addchildviewcontroller:child]; [self.view addsubview:child.view]; //set view frame child.view.frame = self.view.bounds; so child view controller resize view frame , layout contraints homework ;)
edit
put code in -(void)viewdidlayoutsubviews this:
-(void)viewdidlayoutsubviews{ [super viewdidlayoutsubviews]; uiviewcontroller *child = [self.storyboard instantiateviewcontrollerwithidentifier:@"childcontroller"]; [self addchildviewcontroller:child]; [self.view addsubview:child.view]; //set view frame child.view.frame = self.view.bounds; }
Comments
Post a Comment