2009-02-12 26 views
2

是否有可能改變iPhone原生按鈕的樣式?例如,我想使用一個較小的字體大小按鈕文本的一部分,並且用於另一個更大 - 像iPhone上的風格分段控制按鈕?

<small>pick a</small><big>color</big> 

我還希望使用形成右箭頭形狀,而不是按鈕是矩形的。例如:

--------------------------------- 
\ Color \ Size \ Shape \ 
/ /  /  /
---------------------------------- 

任何可能的?

回答

1

我認爲你不能輕易做到這一點。您可能需要子類UISegmentedControl並重寫一堆方法。要在按鈕文本上獲得不同大小的字體,您必須創建若干個子視圖,併爲每個字符分配適當的文本和字體大小,然後將其排除。要獲得右箭頭形狀,您需要重寫drawRect:方法來繪製控件的背景。

2

最簡單的選擇是對自定義圖像使用Rounded Rect按鈕,不幸的是這不會滿足您可調整大小的文本要求(除非您有每個尺寸的圖像)。

  • 到View
  • 添加圓角的矩形按鈕在Inspector:
    -switch類型爲 「自定義」
    -set背景,以新的按鈕的圖像
    -place的文本「標題」

一定要使用背景爲您的按鈕圖像,如果你想使用該按鈕的文本屬性(標題)

0

你可以創建一個UIView的子類並將多個UIButton堆疊在一起。爲了讓每個按鍵形成右箭頭的形狀,你可以只使用可伸縮的圖像和背景設置UIButtons本的uImage:

UIImage* buttonImage =[[UIImage imageNamed:@"arrowImage.png"] 
     stretchableImageWithLeftCapWidth:5.0 topCapHeight:0.0]; 

這裏是一個很好的起點:https://github.com/boctor/idev-recipes/tree/master/CustomSegmentedControls

我有這個發揮並修改,以便我可以自定義每個段的寬度和其他一些調整,這裏是我的叉:https://github.com/janfsd/idev-recipes/tree/master/CustomSegmentedControls

您可以進一步自定義其中之一接受每個按鈕的文本大小參數,以適應您的需求。