2012-12-10 40 views
1

我试图自定义一个UISegmentedControl来为每个段使用自定义图像。我做了很多搜索,但迄今为止我尝试过的解决方案还没有运气。 This是我可以找到的最新帖子,它现在仍然相当过时,而且看起来还不错。有没有更好的或更新的指导如何做到这一点?UISegmentedControl每个段的自定义图像

感谢

+0

你想改变图像的内容或背景吗? –

+0

内容。默认情况下,UISegmentedControl具有浅灰色段,外侧段具有圆角和透明背景。我有一个分段控制3段,我需要使左侧的段黄色,中间的绿色,和右侧的红色。每个细分图像都有一个自定义渐变。 – chinabuffet

+1

查看本教程。这是你可以达到的最大值。 http://www.raywenderlich.com/4344/user-interface-customization-in-ios-5 – iDev

回答

3

不幸的是,UISegmentedControl不会很容易地为每个段分别设置不同的背景图片。如果您的控件始终是已知宽度,则可以使用三个分段绘制全尺寸背景图像,如下所示:(yellow][green][red)(其中括号代表圆角),然后使用-[UISegmentedControl setBackgroundImage:forState:barMetrics:]设置图像。

但是,如果您想稍后调整控件的大小,该解决方案不是非常灵活。你最好用三个相邻的UIButton s伪造它,或者甚至子类UIControl来制作一个自定义的分段控件,该控件可以为每个分段有一个单独的图像。