问题描述
|
我有两个xib文件:
MainView.xib和DetailView.xib
两者都由MainViewController控制。 MainView.xib在应用程序首次打开时加载,但是如果用户单击按钮,则该应用程序将DetailView.xib加载为子视图。
因为我在MainViewController中对DetailView.xib文件中的视图创建了IBOutlet,所以应该加载DetailView。
我正在尝试使用addSubview命令,但是由于某种原因,它实际上并未执行该命令。它会通过命令,但是实际上什么都不会改变。这是命令:
[self.view addSubview:myDetailView]
其中myDetailView是IBOutlet
此设置有什么问题?
谢谢您的帮助。
编辑:
MainViewController.h(保留生成的代码):
IBOutlet UIView *myDetailView;
@property (nonatomic,retain) IBOutlet UIView *myDetailView;
MainViewController.m:
@synthesize myDetailView;
解决方法
添加子视图之前,请先NSLog myDetailView,如果它返回\“(null)\”,则myDetailView尚未初始化。确保已在Interface Builder中连接了视图。
, 我敢打赌myDetailView为零。
它可能是IBOutlet,但必须连接。连接IBOutlet的XIB显然应该已加载。
您如何在代码中加载DetailView.xib?你用
loadNibNamed:owner:options:
吗?