我只是没有正确设置我的 View Controller 。我有一个 ViewController 像这样实现到另一个 ViewController 中:
父 View Controller :
- (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);
}
subview Controller
- (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?我是否返回了错误的属性?
最佳答案
在 viewWillAppear
方法中尝试 NSLog
。
您只能在 viewWillAppear
处获取 View 的尺寸
关于ios - ViewController 的高度设置不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23582854/