【发布时间】:2014-11-17 09:53:16
【问题描述】:
我有一个 NavigationController,我想制作一个 View,它可以从屏幕顶部动画并位于 navigationBar 上方。我正在从 xib 初始化 viewcontroller,当我将它添加为 [self.view addSubview:myView]; 时它工作得很好,但它位于导航栏下方。当我尝试将其添加为 [self.navigationController.view addSubview:myView]; 时,它按预期将其放置在 navigationBar 顶部,但视图不显示任何放置在 xib 中的子视图。我不明白为什么会这样,已经尝试解决了好几个小时。
更新 我来自 xib 的自定义视图与自定义 ViewController 类配对,我在其中添加了以下代码:
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
NSLog(@"!!! %i", [self.view.subviews count]);
}
如果我将 myView 添加到 self.view 它会打印 1(实际上有 1 个子视图),但是当我将它添加为 self.navigationController.view -viewDidAppear 时甚至不会被调用。但它确实出现在没有子视图的屏幕上。现在我更加困惑了。
【问题讨论】:
标签: ios objective-c iphone uinavigationcontroller addsubview