如何添加已经有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];

问题是,当我的xib文件已经包含UIView时,XCode只记录"lldb",但假设我删除xib文件中的UIView并添加任何其他对象,它显示得非常好。

但由于我想加载整个UIView,其中包含所有内容,所以我更喜欢找到一种方法来加载带有UIView的笔尖。

谢谢你的帮助。

使用时

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

这段代码根据nib文件的内容重新加载UIView变量"newView"。因此,在这个代码范围之前创建UIVew变量是没有意义的。

如果您的视图是合成的。只需通过自定义类将UIView子类化,然后为每个组合添加IBOutlet,然后用这些组合创建xib,并将它们linq到IBoutlets。那么也只加载xib。

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

或者,要在不进行子类化的情况下访问组合,您只需使用subViews的标记即可。在xib中为每个视图设置标签,然后通过[view-viewWithTag:tag]访问它们;

相关内容

  • 没有找到相关文章

最新更新