2009-02-12 74 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

您可以进一步自定义其中之一接受每个按钮的文本大小参数,以适应您的需求。