Cocoa touch 在iPhone上设置分段控制按钮的样式?

Cocoa touch 在iPhone上设置分段控制按钮的样式?,cocoa-touch,Cocoa Touch,是否可以更改iPhone本机按钮的样式?例如,我想对按钮文本的一部分使用较小的字体,对另一部分使用较大的字体,比如 <small>pick a</small><big>color</big> 有可能吗?我认为你不容易做到。您可能需要对一系列方法进行子类化和重写。要在按钮文本上获得不同大小的字体,您必须创建几个UILabels作为子视图,并为每个子视图指定适当的文本和字体大小,然后将其布局。要获得正确的箭头形状,您需要覆盖drawRect:方法来绘

是否可以更改iPhone本机按钮的样式?例如,我想对按钮文本的一部分使用较小的字体,对另一部分使用较大的字体,比如

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

有可能吗?

我认为你不容易做到。您可能需要对一系列方法进行子类化和重写。要在按钮文本上获得不同大小的字体,您必须创建几个
UILabel
s作为子视图,并为每个子视图指定适当的文本和字体大小,然后将其布局。要获得正确的箭头形状,您需要覆盖
drawRect:
方法来绘制控件的背景。

最简单的选择是对自定义图像使用圆角矩形按钮,不幸的是,这将无法满足您的可调整大小的文本要求(除非您有每个大小的图像)。

  • 将圆角矩形按钮添加到视图中
  • 在检查员中:
    -将类型切换为“自定义”
    -将背景设置为新按钮的图像
    -将文本放在“标题”中

如果要使用按钮的文本属性(标题),请确保使用按钮图像的背景。

您可以将UIView子类化,并将多个UIButton堆叠在一起。要使每个按钮形成右箭头形状,您只需使用可拉伸图像,并将UIButtons背景设置为此UImage:

UIImage* buttonImage =[[UIImage imageNamed:@"arrowImage.png"] 
       stretchableImageWithLeftCapWidth:5.0 topCapHeight:0.0];
这是一个很好的起点:

我已经玩过这个并修改过,所以我可以自定义每个片段的宽度和其他一些调整,这是我的叉子:

您可以进一步自定义其中一个按钮,以接受每个按钮的文本大小参数,以满足您的需要

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