似乎Apple UIToolbar
以及您可以放置的一些控件(例如UISegmentedControl
)允许非常有限的自定义。例如,我们希望我们的工具栏看起来像这样的模拟:
但是,UIToolbar
只有一个tintColor
和3个可以应用的内置barStyle
值,因此我们无法获得我们追求的渐变。有没有办法像许多其他控件一样设置背景图像?
更糟糕的是,UISegmentedControl
不允许您指定字体或字体颜色。它似乎用一个投影强制白色11pt Helvetica,而我们正在使用的光tintColor
几乎无法读取白色。
我不想重写UISegmentedControl
只是为了改变文字颜色。但是唯一的solution I've seen是非常hacky - 它深入研究了子视图的子视图并改变了那些属性 - 似乎只要Apple改变或不允许它就会停止工作。
Apple真的反对我们改变我们分段控件上的文字颜色,还是我在这里缺少一些东西?
更新:Apple最终添加了在iOS 5中自定义外观的功能。请参阅jfortmann's answer。
答案 0 :(得分:1)
您想使用setBackgroundImage:forState:barMetrics:方法(可能在您的外观代理上)来设置背景图像。可以使用setTitleTextAttributes:forState:修改文本。最后,您需要使用setDividerImage更改可能状态的分隔符:...
关于图像的外观,文档非常有用。