我想知道如何调用(访问)我使用IB创建它的子视图 我已经使用过这段代码,但没有机会:
mySubView * mysbv = [mySubView alloc];
[mysbv setNeedsDisplay:YES];
但是我会得到编译错误说未声明的mySubView我在哪里创建mySubView类并将其附加到IB内的窗口。
顺便说一句,使用IB的组件是好的做法还是我必须以编程方式创建它们(虽然我也有问题)?
答案 0 :(得分:3)
如果您尝试声明视图然后在Interface Builder中访问它,请在您的类中将UIView声明为IBOutlet。 在IB中添加任何视图后,您可以控制从文件所有者点击要与其关联的视图。
此外,如果UIView是您的自定义类(在本例中为mySubView),请确保将UIView的类更改为mySubView。这可以在IB的Identity Inspector中找到。
答案 1 :(得分:0)
使用nib文件功能更强大;一般而言,创建UI元素的代码示例来自Apple在iPhone OS支持IB之前的史前时代。
您的代码示例确实不起作用 - 您不能单独使用alloc
。为视图控制器创建一个IBOutlet属性,并将其连接到您的视图;它可以从awakeFromNib
/ viewDidLoad
开始使用。