簡體   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