将另一个NIB加载到UIVIEW的一个子视图中

时间:2011-09-19 23:44:25

标签: iphone objective-c uiview xib subview

我有一个简单的问题,我无法在整个网站上看到它,

一个以UIView为主,

的XIB文件

其中有另一个UIView连接到一个IBoutlet,所以我可以稍后分配它来加载另一个XIB文件的视图。这项任务不起作用..它仍然是空白的......

@interface Subclass : UIViewController { 
        UIView *view1; 
}
@property (nonatomic,retain) IBOutlet UIView *view1;
@end

我将view1链接到xib文件中的子视图 在initWithNibName中实现我正在加载其他XIB文件并使用它的视图并将其分配给view1。这仍然不起作用......

detailControler = [[XibViewControler alloc] initWithNibName:@"XibViewControler" bundle:nil];
 //one aproach
[self.view1 addSubview: detailControler.view]; 
//another aproach
[self setView1:detailControler.view];

如果我将子视图programaticaly添加到[self.view addSubview:detailControler.view]并为其设置框架,它将全屏显示,并隐藏原始视图。

我也采用了不同的方法 How to load multiple views on each button tap when using a UISegmentedVIew

1 个答案:

答案 0 :(得分:1)

这就是我通常在另一个视图中设置UIView的方式,虽然我不完全确定它是最佳做法还是其他类似的做法:

if(newViewController == nil){
  newViewController = [[NewViewController alloc] initWithCoder:nil];
}
newViewController.view.autoresizingMask = UIViewAutoresizingNone;
if([newViewController.view superview] == nil){
  [view1 addSubview:newViewController.view];
}

希望有帮助!