1
我只是没有得到我的视图控制器的权利设置。我已经实现到另一个ViewController中像这样的视图控制器:ViewController的高度设置不正确
家长的ViewController:
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
[self addTopTabBarController];
}
return self;
}
- (void)addTopTabBarController {
self.topTapController = [[TopBarViewController alloc] init];
[self addChildViewController:self.topTapController];
[self.topTapController didMoveToParentViewController:self];
[self.view addSubview:self.topTapController.view];
self.topTapController.view.frame = CGRectMake(0, 200, 320, 40);
}
儿童的viewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Setup toolbar an set frame
self.toolbar = [[UIToolbar alloc] init];
NSLog(@"%f", self.view.frame.size.height);
}
return self;
}
当我登录了frame.size.height,我得到568.0作为回报值。为什么我之前没有在父级ViewController中设置返回40?我是否返回了错误的财产?
现在,它的工作!为什么我只能在那里获得正确的尺寸? – konturgestaltung
你在致电[super viewWillAppear:animated];在viewWillAppear方法中? –
在init方法中获取框架的唯一可能方式是将其传入例如'initWithFrame:(CGRect)rect {};'中。只有在viewWillAppear上,应用程序才能确定应该在哪里以及它本身的大小。 –