繁体   English   中英

自定义UIView子类添加笔尖子视图

[英]Custom UIView subclass add nib subview

我有一个自定义UIView子类,我们将其CustomViewA ,它是通过initWithFrame:初始化的,并以编程方式添加一些UIViews(例如UILabel等)。 现在需要将另一个视图添加到CustomViewA因此我创建了一个nib ,并在其中放置了一些GUI元素(一个是UISegmentedControl

现在,我遇到一些有关如何正确地将这个笔尖作为子视图添加到CustomViewA 我需要为笔尖创建.h / .m文件吗? 我希望CustomViewA在分段控件更改值时接收操作。

我需要为笔尖创建.h / .m文件吗?

不,你不需要。

当分段控件更改值时如何接收动作?

您可以在xib中为分段控件设置标签号,它在xib视图的所有子视图中应该是唯一的。

您可以使用代码获取分段控件。 UISegmentedControl *segmentedControl = (UISegmentedControl *)[view viewWithTag:1024]; ,一旦获得分段控件,就可以使用代码[segmentedControl addTarget:self action:@selector(action:) forControlEvents:UIControlEventValueChanged];

编辑: 如何获取xib的根视图?

使用以下代码:

UIView *rootView = [[[NSBundle mainBundle] loadNibNamed:@"YourXibName" owner:nil options:nil] firstObject];

[[NSBundle mainBundle] loadNibNamed:@"MyNibName" owner:self options:nil];
[self.view addSubview:self.nibView];

在笔尖中,确保将文件所有者的类设置为要添加它的视图控制器。

您也可以从笔尖添加属性和IBActions就像普通的一样。

我终于知道发生了什么事。 我添加到CustomViewA的笔尖已添加到CustomViewA的框架之外。 因此,很明显,当子视图在超级视图的框架之外时,它将不会拦截触摸。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM