2013-03-27 80 views
1

我想繪製一個UIButoon,其文字使用大綱即筆畫。所以我試圖用titleLabel來製作我自己的自定義標籤,並指定UIButton.titleLabel這是行不通的。有人提到我可以在UIButton之上加UILabel,但我不確定這個解決方案是否好。UIButton with Text Stroke/Outline

有人可以推薦一個穩定的方法來解決這個問題嗎?謝謝。

回答

0

你也可以添加一個視圖作爲子視圖到你的按鈕。 在此視圖中,您可以放置​​標籤,或者如果需要,可以放置更多標籤,例如一個帶有兩個不同格式化文本行的按鈕。

+0

這可能不是最好的解決辦法,但我想iOS 5的支持,所以不能使用答案與NSAttributedString,我也遇到了麻煩subclasssing的UIButton。 UILable我可以細分,它適用於我。 – Vad 2013-03-30 02:05:50

6

您可以使用UIButton

- (void)setAttributedTitle:(NSAttributedString *)title forState:(UIControlState)state 

方法。

例如。像這樣的屬性串

NSAttributedString *attributedText = 
[[NSAttributedString alloc] initWithString:title 
             attributes:@{NSStrokeWidthAttributeName: [NSNumber numberWithInt:-6], 
         NSStrokeColorAttributeName: titleBorderColor, 
        NSForegroundColorAttributeName: [UIColor whiteColor]}]; 
+0

非常有趣,但它只適用於iOS6 ... – Vad 2013-03-28 02:53:14

+0

是的,我忘了提及:) – Mert 2013-03-28 09:38:36

+0

太糟糕了,它看起來像一個更好的解決方案,但。我現在似乎與其他人一起失敗了。 – Vad 2013-03-28 15:30:22