ios - ViewController 的高度设置不正确

标签 ios uiviewcontroller

我只是没有正确设置我的 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/

相关文章:

iphone - 有没有一种安全的方法可以手动为 UIScrollView 的滚动设置动画?

java - Appium:断言启动画面

ios - 为 SpriteKit 中的函数添加延迟

IOS Storyboard : How do I know what code controls what screen?

IOS - Objective-C - 如何从我的登录 View Controller 中删除 Tableview 菜单?

ios - 使用 SDWebImage 忽略查询参数

ios - 当我尝试为 CIContext 设置选项时,类型 'String' 没有成员 'cacheIntermediates' 错误

ios - AVPlayerViewController 在 iOS10 上的弹出窗口中弄乱了底层模态视图 Controller

ios - 使用 xcode 8 解散 vs 呈现

swift - modalPresentationStyle .overCurrentContext 导致呈现 View Controller 上的远程按钮按下出现问题