【发布时间】:2014-03-18 04:48:04
【问题描述】:
我有一个UIViewController,它从笔尖加载子视图并将其添加到其视图层次结构中的子视图。现在这在 iPhone 故事板上一切正常,但在 iPad 中,虽然我确实看到了视图,但由于 viewWillAppear 不被称为 UIImageView,视图上的视图未初始化。
这是来自主视图控制器(加载子视图的那个)的代码
SubViewController *controller = [[SubViewController alloc] init];
NSArray *bundle = [[NSBundle mainBundle] loadNibNamed:@"x"] owner:controller options:nil];
UIView *subView = bundle[0];
[self addChildViewController:controller];
if (isPhone)
{
CGRect frame;
frame.origin.x = 0;
frame.origin.y = 0;
frame.size = self.scrollView.frame.size;
view.frame = frame;
[self.scrollView addSubview:view];
}
else
{
view.frame = self.viewSlot.frame;
[self.viewSlot addSubview:view];
}
唯一的区别是在 iPhone 上它被添加到 UIScrollView 而在 iPad 上它被添加到 UIView。
viewSlot 和 scrollView 都是正确初始化和工作的插座。即使在 iPad 上,我也确实看到了我的视图(我已经更改了它的背景颜色),它只是没有运行的初始化 (viewWillAppear)。
【问题讨论】:
-
把你的相关代码放在这里:)
-
你的意思是说你正在添加一个'viewcontroller.view'作为其他视图控制器的子视图?
-
我们来读茶叶
-
正如其他人所说,您需要发布相关代码。鉴于您声称要添加视图(而不是视图控制器),神秘的部分实际上是
viewWillAppear在 iPhone 上被调用,而不是它没有在 iPad 上被调用。 -
伙计们,你是对的,这个问题是半熟的。我已经添加了一些代码,希望现在可以了。
标签: ios ipad uiviewcontroller