我有一个令人费解的问题。在mac os x 10.7中使用cocoa应用程序。
我的应用主窗口包含拆分视图。在某个使用环境中,拆分视图的一个子视图中加载了一个包含一些标签(nstextfield)和拆分视图的自定义视图(实例化一个加载笔尖并从该控制器获取视图的视图控制器)。自定义视图的框架设置为拆分视图子视图边界,一切正常。 问题是应该加载第二个拆分视图的一个子视图(相同的方法:view controller-nib-view-frame / bounds),其中包含一个包含表视图和按钮的自定义视图,但在这种情况下没有显示任何内容。一切都以相同的方式完成,但最后一个自定义视图不可见。有什么想法吗?
由于
(编辑)
这是我用来为要添加的视图实例化控制器的代码,获取视图,并将其作为子视图添加到拆分视图的子视图中
- (void)loadSubview {
self.subviewToAddController = [[viewController alloc] initWithNibName:nil bundle:nil];
//nib name is coded in the controller class definition
[[self.subviewToAddController view] setFrame:[self.splitViewContainerSubView bounds]];
//container subView is an outlet
[self.splitViewContainerSubView addSubview:[self.subviewToAddController view]];
}
但是我认为问题不在于此代码,因为如果我向容器子视图询问其自己的子视图,我可以看到列表中存在新的子视图。它只是没有显示。如果我将它添加为拆分视图的子视图(刚刚制作的测试)或者作为最外部拆分视图的子视图的子视图,它也会正确显示(对于困惑的解释,对不起,我需要一个图但在此处我无法做到的那一刻)
更详细地说明我的怀疑(我不想误导,所以我之前没有提到)不能是坐标的问题,所以视图被正确加载并添加为子视图但是因为被隐藏而不可见什么东西或显示出可见区域?
(更新)
很抱歉发布更新花了这么长时间。 经过更多测试后,我发现问题与autolayout有关。不知道确切的问题是什么以及如何解决它。我最终关闭了它的麻烦,并使用旧的方式来设置界面对象的位置和大小/调整大小。不是最好的方法,但现在我可以继续。
答案 0 :(得分:0)
我最好的猜测是你没有正确设置视图的自动调整遮罩。