2012-03-28 86 views

回答

1

的iOS 5.0推出了一些外觀定製選項爲UISegmentedControl。我想你會是最感興趣的方法是:

- (void)setTitleTextAttributes:(NSDictionary *)attributes forState:(UIControlState)state 

討論
屬性字典可以指定字體,文本顏色,文字陰影顏色,和文字陰影爲標題的偏移文本屬性字典,使用NSString UIKit Additions Reference中的鍵。

更新

如果你編程方式創建UISegmentedControl,你可以先走一步,打電話給你創造它之後此方法。如果從筆尖加載,則必須將其設置爲插座,並在您的awakeFromNibviewDidLoad方法中調用此方法。

現在,您的「請點擊相應的按鈕」文本是在導航提示?我不確定你是否可以修改它的外觀。也許你可以做一些欺騙...

  • 設置self.navigationItem.prompt = @" ";所以它的技術設置,但沒有任何顯示。
  • 製作一個UIView,將您的UISegmentedControl添加到該模型,以及UILabel,您可以使用frame.origin.y = -20.0左右的樣式進行設計。然後,將該視圖設置爲self.navigationItem.titleView。確保你設置了clipsToBounds = NObackgroundColor = [UIColor clearColor]

這樣,它應該顯示帶有自定義標籤的分段控件,至少在理論上是這樣。讓我知道結果如何。

+0

謝謝喬,我該如何調用該方法。它不是射擊。這是我正在使用的代碼: – 2012-03-28 21:00:50

+0

- (void)setTitleTextAttributes:(NSDictionary *)attributes forState:(UIControlState)state { \t NSLog(@「%s」,__FUNCTION__); \t [[UISegmentedControl外觀] setTitleTextAttributes: \t [NSDictionary的dictionaryWithObjectsAndKeys: \t [的UIColor whiteColor],UITextAttributeTextColor, \t [的UIColor colorWithRed:1.0綠:1.0藍色:1.0阿爾法:1.0],UITextAttributeTextShadowColor, \t [NSValue valueWithUIOffset: UIOffsetMake(0,1)],UITextAttributeTextShadowOffset, \t [UIFont fontWithName:@「Copperplate」size:11。0],UITextAttributeFont, \t零] \t \t \t \t \t \t \t \t forState:UIControlStateNormal]; } – 2012-03-28 21:02:50

+0

Joe,我發現代碼會改變分段的數組元素,但它不能改變導航item.prompt。除非有人發佈替代解決方案,否則我可能會採取一些措施。無論如何,這並不是很有用。我很欣賞你給我的代碼提示,所以我會將其標記爲已解決。 – 2012-03-29 10:55:37