2009-06-11 111 views
6

我必须将UISwitch的标签从ON-OFF更改为YES-NO。更改UISwitch的标签

我想这个方法在不同的类中实现,然后由其他类访问。

我试图实现烹调手册提供的片段,但没有成功

+0

看到这个http://stackoverflow.com/questions/2711180/changing-the-text-on-a-uiswitch 希望能帮助你,祝你好运。 – zhocker 2014-02-05 07:55:30

回答

1

,你可以使用图片来onoff

@property(nonatomic, retain) UIImage *offImage; 
@property(nonatomic, retain) UIImage *onImage; 

图像大小为77 * 27

1

UISwitch使用图像进行绘制。要更改UISwitch的文本,您必须将的onImageoffImage属性设置为使用自定义文本的图像。这可以直接完成对UISwitch实例,或使用UIAppearance在你的应用程序中设置自定义图像在所有UISwitch实例:

[[UISwitch appearance] setOnImage:onImage]; 
[[UISwitch appearance] setOffImage:offImage]; 

不幸的是,自定义和关闭UISwitch图像设置是不是在iOS的7或功能后来。从documentation

在iOS 7中,此属性不起作用。 在iOS 6中,此图像表示交换机的内部内容。您指定的图像与开关的圆形表圈和大拇指合成,以创建最终外观。

而且它还没有被标记为弃用。不幸的是,在iOS 8中似乎仍然如此。自定义UISwitch的颜色仍然有效,但使用自定义图像不适用。要定制交换机的图像(以及文本),您必须使用自定义控件类。