2014-03-26 42 views
0

我有一個從UIButton繼承的類MyButton : UIButton。我在MyButton的initWithFrame(唯一的構造函數)中做了一堆事情,就像設置backgroundcolor一樣。如何在代碼中創建自定義UIButton並在xib中使用它?

現在我想在我的xib中使用這個MyButton。所以我不會一次又一次地爲我所有的按鈕設置這些屬性。我還在Identity Inspector中爲xib中的按鈕將Custom Class設置爲MyButton。

沒有任何東西反映出我在xib中設置的屬性。如果它在代碼中,這可能很容易完成。

我的問題是, 1)通過xib創建按鈕時會調用什麼(例如,當您以編程方式創建按鈕時調用initWithFrame)?

2)如何獲取它以查看我在MyButton中設置的屬性?正在擺脫xib並以編程方式做它唯一的方式?

在此先感謝!

回答

2
  1. 通常與initWithCoder:
  2. 您可以使用身份檢查Interface Builder中,設置使用屬性的keyPath值。在這個例子中,您可以更改視圖的CALayer屬性:

enter image description here

+0

對於第2點,我將不得不繼續爲我創建的每個MyButton進行操作。這破壞了自定義控制的重點。 – FatalError

+0

btw你的initWithCoder評論是有幫助的。我可以在那裏定義屬性!謝謝 !!標記爲答案 – FatalError

+0

還有一件事 - initWithCoder不會選取在關鍵路徑中定義的值。這些值雖然在AwakeFromNib中找到。 – FatalError

1

你可以簡單地將它設置在xib文件。爲此:

  1. 選擇xib文件中的按鈕。
  2. 單擊Identity Inspector按鈕。
  3. 在類字段中鍵入您的自定義類的名稱(MyButton)。

現在您的按鈕將與類型MyButton類。

編輯

檢查Apple's documentation on Adding a Custom Object。這會給你更多的想法。

+0

正如我所說,它沒有拿起我在基類中設置的屬性。我想使用MyButton自定義控件,它具有直接從Xib設置的一些屬性。 – FatalError

相關問題