2011-01-09 42 views
1

因此,我開發了一種下拉按鈕類。我應該使用IB還是使用子類UIView

我們稱之爲DDButton。 我主要出口一個功能:

-(void) addButtonWithImage:(UIImage*)image andTarget:(id)target andSelector:(SEL)selector 

,它可以讓用戶添加一個按鈕,下拉。

我需要在我的應用程序的不同屏幕使用DDButton。

我想用它喜歡:

DDButton* ddb = [[DDButton alloc] initWithFrame:rect]; 
[ddb addButtonWithImage....] 
[ddb addButtonWithImage....] 

我的問題是因爲我從來沒有子類的UIView我應該如何實現它之前,我應該如何在以後使用它?

我用IB和創建存根的UIView,我將連接到DDButton在身份窗格?如果是的話,我如何在稍後實例化視圖。

或者, 難道我的子類的UIView?如果是的話,我應該重寫哪些方法?你是否在初始化程序中設置了我的按鈕?在LayoutSubView中?在drawRect中?

我很想聽到這裏最好的辦法。 謝謝!

編輯

比方說,我選擇IB的方法:我有一個主鍵,我設置無論 addButtonWithImage()調用,居然要addButtonWithImage所有呼叫只是「附加」到該按鈕。我希望主按鈕是視圖的大小,直到添加了其他按鈕,然後視圖適當增長。但是,我希望視圖的大小首先由用戶選擇...使用setFrame我猜。 在awakeFromNib中的含義我不能指望幀的大小(它只採用我假設的xib大小)。那麼我在哪裏設置我的主要按鈕? LayoutSubView? setFrame?我不確定。

回答

0

添加您的觀點作爲一個UIView的IB接口,然後更改身份窗格中的類。如果您需要在代碼中進行初始化,請使用 - (void)awakeFromNib方法。我建議設置的按鈕,當他們在addButtonWithImage添加....

+0

看我的編輯。 thx – Idan 2011-01-10 09:45:51

0

我可能會做一個子類,建築在代碼視圖是一個學習的好東西。

覆蓋drawrect:做任何你需要做的自定義繪圖,如果你只是添加一個UIImageView或者其他東西,並且定位你可以重寫initWith ...:並且做你自定義的初始化。

相關問題