【发布时间】:2020-07-09 13:57:21
【问题描述】:
【问题讨论】:
-
勾选“自定义开关的外观”:developer.apple.com/documentation/uikit/uiswitch
-
您需要创建自定义 UISwitch 您在默认 UISwitch 中没有获得所需的输出。
【问题讨论】:
可以修改 UISwitch 吗?
在 iOS 6 及更早版本中,您可以设置 onImage 和 offImage 属性。但由于我们现在使用的是 iOS 13,因此该解决方案很久以前就停止工作了。
我想为 Switch 创建如下图所示的设计。
开关只是具有两种状态的控件...滚动您自己的应该是继承 UIControl 的简单问题。查看UIControl documentation 的子类化部分,了解有关您需要重写以使您的开关作为控件工作的方法的信息。
您的开关可以像可以在两种状态中的任何一种中绘制自身的视图一样简单,因此您可以创建一个包含两个图像并根据其状态绘制适当的图像的视图。但是 UISwitch 动画化了两种状态之间的转换,并且有很多你可能没有注意到的微妙之处。让你的开关工作看起来一样好,或者几乎一样好,需要更多的工作。查看 UISwitch 打开和关闭时背景颜色如何淡入和淡出,并注意在支持触觉反馈的设备上,设备会在开关状态更改时发出脉冲。
对于您的自定义开关,您可能希望使用 Core Animation 将表示开关拇指的视图或图层移动到具有表示两种状态的图标的背景上。 CALayer 有一个 可能有用的功能数量。
【讨论】: