2013-07-26 19 views
-1

使用以下我可以创建一个视图,然后笔尖加载到其中:如何添加已有UIView的子视图?

CGRect newViewRect = CGRectMake(0, self.view.bounds.size.width - 335, 335, 400); 
UIView *newView = [[UIView alloc] initWithFrame:newViewRect]; 
newView = [[[NSBundle mainBundle] loadNibNamed:@"TheNewViewNib" owner:self options:nil] objectAtIndex:0]; 

这里是问题,当过我的厦门国际银行文件已经包含了UIView,XCode中只记录“LLDB”,但是我们要说如果我删除xib文件中的UIView并添加其他任何对象,则它显示得非常好。

但是因为我想加载整个UIView以及其中的所有内容,所以我更喜欢找到一种方法来加载笔尖UIView

感谢您的帮助。

回答

0

当您使用

newView = [[[NSBundle mainBundle] loadNibNamed:@"TheNewViewNib" owner:self options:nil] objectAtIndex:0]; 

此代码由笔尖文件的内容重新加载你的UIView变量“NewView的”。因此,在代码范围之前创建UIVew变量是毫无意义的。

如果您的视图被合成。只需通过您的自定义类继承UIView,然后为每个复合添加IBOutlet,然后使用这些复合创建xib,然后将它们转换为IBoutlets。然后像上面那样加载xib。

newView = [[[NSBundle mainBundle] loadNibNamed:@"TheNewViewNib" owner:self options:nil] objectAtIndex:0]; 

或者无需子类化即可访问复合材料,只需使用subViews的标签。在每个视图的xib set标签中,然后通过[view viewWithTag:tag];来访问它们。

相关问题