簡體   English   中英

添加UIView subView不起作用

[英]Adding UIView subView not working

我有一個UIViewControllerMyClass ,最初沒有XIB,並且已通過編程進行了初始化。 現在,我不想從XIB加載它,但是我想制作一個小的50x50 UIView(設置覆蓋視圖),我想將其添加為MyClass ,所以我不是以編程方式聲明新的設置覆蓋視圖,而是以為我會創建一個XIB文件,將文件的所有者設置為MyClass,在MyClass.h聲明一個IBOutlet UIView *settingsOverlay ,並將其鏈接到XIB中。

然后在viewDidLoad方法中,我執行[self.view addSubview:settingsOverlay] ,但是由於某些令人討厭的原因,它不起作用。 它只是沒有出現。 我嘗試以編程方式創建一個簡單的UIImageView並將其添加到subView中,並且效果很好,但是通過XIB完成后,它不起作用。 誰能指出可能是錯的嗎? 請讓我知道我可能需要包括哪些其他細節。

如果嘗試使用xib添加視圖,則需要使用loadNibNamed方法。

[[NSBundle mainBundle] loadNibNamed:@"settingsOverlay" owner:self options:nil];

您可以參考開發人員鏈接以獲取更多信息-http: //developer.apple.com/library/IOs/#documentation/UIKit/Reference/NSBundle_UIKitAdditions/Introduction/Introduction.html

為設置覆蓋視圖創建XIB並將其所有者設置為MyClass不會隱式導致手動實例化MyClass導致加載XIB。 您將必須在MyClass viewDidLoad中手動加載設置覆蓋視圖XIB並將其添加為子視圖。 加載它並作為所有者傳遞所有者將導致它綁定到您創建的IBOutlet,但是您仍然必須將其添加為子視圖。

viewDidLoad中的代碼如下所示:

[[NSBundle mainBundle] loadNibNamed:@"OverlayView" owner:self];
[self.view addSubview:self.overlayView];

您需要在設置settingsOverlay之前加載MyClass xib。 嘗試在addSubview調用之前添加此行。

[[NSBundle mainBundle] loadNibNamed:@"MyClass" owner:self options:nil];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM