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上,應用程序才能確定應該在哪裏以及它本身的大小。 –