在界面生成器中使用现有的自定义 UIView
Posted
技术标签:
【中文标题】在界面生成器中使用现有的自定义 UIView【英文标题】:Using existing custom UIView in interface builder 【发布时间】:2013-04-15 10:11:55 【问题描述】:我创建了一个 UIView 子类,因为我需要一些自定义的东西。
然后,我在我的一个 xib 上添加了一个 UIView,并将 UIView 的类更改为我的自定义类。当我运行时,它不会实例化自定义类。
我该怎么办?将使用什么构造函数来实例化自定义类?
【问题讨论】:
没有自定义构造函数,你如何检查没有启动? 【参考方案1】:xib
将被实例化为
- (id)initWithCoder:(NSCoder *)decoder
如果您依赖xib
中的连接和其他对象可用,那么您也可以将代码添加到
- (void)awakeFromNib
这是当对象... is guaranteed to have all its outlet and action connections already established.
要处理代码重复,您可以执行以下操作
- (instancetype)initWithFrame:(CGRect)frame
self = [super initWithFrame:frame];
if (self)
[self commonInit];
return self;
- (instancetype)initWithCoder:(NSCoder *)aDecoder
self = [super initWithCoder:aDecoder];
if (self)
[self commonInit];
return self;
- (void)commonInit
// any common setup
【讨论】:
【参考方案2】:从 XIB 创建 UIView 时调用的方法是
- (id) initWithCoder:(NSCoder *)aCoder
【讨论】:
以上是关于在界面生成器中使用现有的自定义 UIView的主要内容,如果未能解决你的问题,请参考以下文章
iOS:如何获取刚刚在界面生成器中设置的 UIView 的框架