2012-09-04 83 views
0

對不起,如果這有一個明顯的答案,我似乎無法找到任何描述這種情況。我如何設置一個直接實現自定義UIView的nib文件?換句話說,nib文件中的頂層視圖變成了我自定義的UIView類的一個實例?到目前爲止,我所能找到的最接近的是創建一個自定義的UIView,它加載了筆尖並將其設置爲UIView *屬性的頂層視圖(以及通過與owner:self一起加載到相應插座的所有子視圖)。這工作,但據我所知,頂級視圖除了作爲所有其他視圖的容器 - 這是我的自定義UIView應該做的事。有什麼建議麼?iOS:UIView直接實現筆尖

編輯︰我最終得到這個問題︰問題是我的自定義視圖類設置爲文件的所有者類,當它應該被設置爲頂級視圖的類。我不知道有可能在IB和業主中設置元素。將所有者設置爲將保存它的ViewController的類以及我的自定義視圖的頂級視圖將其全部工作。

回答

0

如果使用單個視圖模板創建項目,您將看到一個空的視圖。如果您添加的是UIView子類的類,則可以將該視圖的類在IB中更改爲您的類(在身份檢查器中)。

+0

這聽起來更像是使用UIViewControllers來處理筆尖而不是UIViews - 我很好地使用視圖控制器和界面生成器中的自定義類,我只是在訪問頂層時遇到問題UIView在一個加載的筆尖中沒有使用額外的,看起來不必要的UIView在中間。 – Xono

+0

我完全不理解你的第一句話。如果你做我發佈的內容,頂級視圖,實際上是唯一的視圖,將成爲你班級的一個實例 - 這就是你在你對斯里卡爾的帖子發表評論時所說的話。然後,您可以添加任何其他子視圖到你想要的自定義視圖。 – rdelmar

+0

所有固定的問題編輯中描述:我將文件的所有者設置爲我的自定義類,而不是頂級視圖。列出這是正確的答案,因爲這些步驟確實清楚地設置了視圖的類,我只是沒有足夠清晰地閱讀:) – Xono

0

如果我理解正確你的問題,那麼這應該幫助 -

在IB,在右側窗格中。選擇「自定義類」下拉菜單&填寫您的自定義UIView類。該圖像顯示UITableViewCell而不是您的自定義UIView類名稱。

enter image description here

糾正我,如果我沒有理解錯你的問題。

+0

這不會崩潰,但它不會顯示爲頂級視圖沒有以任何方式訪問(因此它們都不是子視圖)。我試圖找到的方法是使頂層視圖成爲自定義類的實際實例(如果可能的話);而不是將其設置爲插座或將其添加爲子視圖。 – Xono

+0

即使您使用自定義類,因爲您正在使用IB,您需要設置IBOutlet ......否則聯繫將發生什麼? –

+0

我現在所擁有的(where - >是父/子關係)是MyCustomView->頂級UIView在nib-> nib中的所有視圖。我想要的是MyCustomView-> nib中的所有視圖,因此頂層視圖*是自定義類,而不是包含在其中。 – Xono