UIView - 设置成员变量默认值
Posted
技术标签:
【中文标题】UIView - 设置成员变量默认值【英文标题】:UIView - setting member variable default value 【发布时间】:2011-04-01 23:20:20 【问题描述】:我有一个扩展 UIView 的类,称为 TouchView。 该视图通过 Interface Builder 在屏幕上显示。
我在那个 TouchView 中有一个变量。如何为该变量指定默认值? 我的函数 - (id)initWithFrame:(CGRect)frame;似乎没有被调用。 UIView 中是否有任何函数总是会被调用,以便我可以在那里初始化我的变量?
谢谢, 三通
【问题讨论】:
【参考方案1】:查看-initWithFrame:
的文档
-initWithFrame:
讨论
新的视图对象必须插入到窗口的视图层次中才能使用。如果您以编程方式创建视图对象,则此方法是 UIView 类的指定初始化程序。子类可以重写此方法以执行任何自定义初始化,但必须在其实现开始时调用 super。
如果您使用 Interface Builder 来设计您的界面,那么当您的视图对象随后从 nib 文件加载时,不会调用此方法。 nib 文件中的对象被重构,然后使用它们的 initWithCoder: 方法进行初始化,该方法修改视图的属性以匹配存储在 nib 文件中的属性。有关如何从 nib 文件加载视图的详细信息,请参阅资源编程指南。
如果您的逻辑属于对象初始化期间,请使用-initWithCoder:
。用户 -awakeFromNib:
如果您的逻辑期望加载对象的出口已经设置。
【讨论】:
【参考方案2】:当 Interface Builder 解压 nib 并实例化您的自定义类时,-initWithCoder: 将被调用。尝试覆盖 initWithCoder: 而不是 initWithFrame:
【讨论】:
以上是关于UIView - 设置成员变量默认值的主要内容,如果未能解决你的问题,请参考以下文章