ios – 对initWithCoder和自定义UIViews感到困惑

前端之家收集整理的这篇文章主要介绍了ios – 对initWithCoder和自定义UIViews感到困惑前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试创建一个自定义的UIView,从nib文件导入它的视图.

在我的控制器中,我有一些像:

self.arcView=[[JtView alloc] initWithCoder:self];
self.arcView.backgroundColor=[UIColor redColor];
self.arcView.frame=CGRectMake(30.0f,200.0f,100.0f,100.0f);
[self.view addSubview:self.arcView];

我的第一个问题是initWithCoder(NSCoder *)的参数应该如何?我尝试了自己,但有一个不兼容的指针类型,但这似乎工作.但问题#2:

其次,这个说法是在将自定义视图放入框架时,使用initWithCoder与nibs和initWithFrame.那么,我想在自定义视图中加载一个笔尖,然后将其放入一个框架中.我可以像上面那样添加一个框架,没关系(看起来好像有效)?

解决方法

你正在这样做:不是你应该调用initWithCoder :,它是执行loadNibNamed:owner:方法.

你在代码中需要做的是调用

UIView *view = [[[NSBundle mainBundle] loadNibNamed:@"theNIB" 
                                              owner:self 
                                            options:nil] objectAtIndex:0];

这将取消绑定NIB,并调用您的initWithCoder:初始化程序,并返回一个视图,所有的插座连接.

猜你在找的iOS相关文章