我有四個按鈕將在同一場景中以相同方式進行樣式設置(使用Storyboard)。這是簡單的樣式,需要重寫一些屬性默認值,但似乎不必要地重複爲每個單獨的按鈕進行設置。我在想我會創建一個子類,但是我讀過的很多帖子(特別是在stackoverflow上)警告不要這樣做UIButton(以及我所做的嘗試都沒有成功)。造型UIButtons - 子類?
只希望得到一個通用的指針,認爲這是最好的方法。感謝您的任何建議。
我有四個按鈕將在同一場景中以相同方式進行樣式設置(使用Storyboard)。這是簡單的樣式,需要重寫一些屬性默認值,但似乎不必要地重複爲每個單獨的按鈕進行設置。我在想我會創建一個子類,但是我讀過的很多帖子(特別是在stackoverflow上)警告不要這樣做UIButton(以及我所做的嘗試都沒有成功)。造型UIButtons - 子類?
只希望得到一個通用的指針,認爲這是最好的方法。感謝您的任何建議。
如果你的目標只是iOS 5中,我強烈建議看Session 114 - Customizing the Appearance of UIKit Controls開發商登錄所需的WWDC 2011屆影片的。
它詳細解釋了應用程序範圍的樣式。
我想修改yujis想法:使用上的UIButton一個category設置按鈕
.H。
@interface UIButton (MyStyling)
-(void)configureMyButtonStyle;
//other methods for more fine-grained control
@end
.M
@implementation UIButton (MyStyling)
-(void)configureMyButtonStyle
{
[self setBackgroundColor:[UIColor colorWithRed:…]];
[self setTitleColor: [UIColor colorWithRed:…] forState: UIControlStateNormal];
//…
}
@end
現在,您可以撥打[aButton configureMyButtonStyle]
當然,你也可以解析在一些參數中,區分幾種風格。
-(void)configureMyButtonForStyle:(NSInteger)style
{
if(style == 1){
//…
} else if(style == 2) {
//..
} else {
//fallback style
}
}
使用:
[aButton configureMyButtonForStyle:1];
子類,似乎有點小題大做這裏。你可以寫一個方法,以你想要的方式在你的控制器中設置屬性,並在每個UIButton
上調用它。
或者您可以隨時在IB中按照自己的方式自定義一個按鈕,然後複製並粘貼三次。
感謝您的答覆 - 它的方法。 – resedasue 2012-02-22 22:31:26
哇 - 這看起來很棒 - 謝謝你的高舉! – resedasue 2012-02-22 22:35:19
和另一個編輯... – vikingosegundo 2012-02-22 23:43:45
感謝你 - 設置一個類別是有道理的 - 尤其是因爲我會在幾個不同的視圖上使用相同的按鈕樣式。我剛剛瞭解到你的鏈接的外觀代理可能也提供了另一種選擇。 – resedasue 2012-02-23 00:02:10