【发布时间】:2023-03-16 05:20:01
【问题描述】:
【问题讨论】:
标签: ios xcode interface-builder uiswitch
【问题讨论】:
标签: ios xcode interface-builder uiswitch
不,就我而言。
你为什么要这样做?我没有在代码中尝试过,但我认为您也不能在代码中这样做。
UISwitch 的恒定大小是有原因的。与其他具有可变大小的控件不同,Apple 显然不希望您更改 UISwitch 的大小。
你看,如果你把UISwitch 加宽,它看起来就不再像一个开关了。它看起来更像UISlider!如果你把UISwitch弄高一点,能移动的圆形东西就会变大,对吧?而且由于宽度没有改变,圆形的东西将无处可去!所以无论哪种方式都会看起来很糟糕。如果在保持纵横比的同时放大/缩小开关,它旁边的文本将不得不放大/缩小,否则看起来会很难看。结果,占用了更多宝贵的屏幕空间(放大),或者开关很难点击(缩小)。
所以不要尝试这样做。
【讨论】:
UISwitch 放入表格单元格时看起来最好。尝试一下!如果你仍然想要一个可调整大小的开关,试试 LLSwitch,它甚至还有很酷的动画! github.com/lilei644/LLSwitch
你可以通过代码做到这一点
switch.transform = CGAffineTransformMakeScale(0.75, 0.75)
或者尝试 UIButton 与您的自定义开关的图像并更改其选择属性。
【讨论】:
您不应该调整 UISwitch 的大小。这确实是可能的(例如通过应用 CGAffineTransform),但正如 Apple 在其 API 指南中所述,您不应调整默认 UI 元素的大小。
如果您想要自定义解决方案,您可以创建自己的开关 - 许多应用程序使用自定义 UI 控件,这是 Apple 的 not prohibited。创建UIControl 或UIButton 或任何最适合您需要的子类,添加自定义初始化和状态处理代码,一切顺利!这些控件可以根据需要在逻辑上调整大小。
【讨论】: