更改UISwitch的标签

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

我希望这个方法可以在单独的类中实现,然后由其他类访问。

我试图实施在厨师书提供的片段,但没有成功

你可以使用图像onoff

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

图像大小是77 * 27

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

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

不幸的是,在iOS 7或更高版本中,为UISwitch设置自定义开启和closures图像不起作用。 从文档 :

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

并没有被标记为已弃用。 不幸的是,在iOS 8中,这似乎仍然是这种情况。 自定义UISwitch的颜色仍然有效,但使用自定义图像不会。 要自定义交换机的图像(以及文本),您将必须使用自定义控件类。