【问题标题】:Resize UISwitch from XIB从 XIB 调整 UISwitch 的大小
【发布时间】:2023-03-16 05:20:01
【问题描述】:

我想知道直接从XIB 更改UISwitch 的默认大小真的不可能吗?我是iOS 的新手,请告诉我如何调整大小。

这是我的登录窗口,如果我可以调整开关的大小会更好。

【问题讨论】:

    标签: ios xcode interface-builder uiswitch


    【解决方案1】:

    不,就我而言。

    你为什么要这样做?我没有在代码中尝试过,但我认为您也不能在代码中这样做。

    UISwitch 的恒定大小是有原因的。与其他具有可变大小的控件不同,Apple 显然不希望您更改 UISwitch 的大小。

    你看,如果你把UISwitch 加宽,它看起来就不再像一个开关了。它看起来更像UISlider!如果你把UISwitch弄高一点,能移动的圆形东西就会变大,对吧?而且由于宽度没有改变,圆形的东西将无处可去!所以无论哪种方式都会看起来很糟糕。如果在保持纵横比的同时放大/缩小开关,它旁边的文本将不得不放大/缩小,否则看起来会很难看。结果,占用了更多宝贵的屏幕空间(放大),或者开关很难点击(缩小)。

    所以不要尝试这样做。

    【讨论】:

    • 添加了截图。如果我可以最小化尺寸,请查看开关看起来会更好
    • 您应该在表格视图中显示您的登录屏幕。 UISwitch 放入表格单元格时看起来最好。尝试一下!如果你仍然想要一个可调整大小的开关,试试 LLSwitch,它甚至还有很酷的动画! github.com/lilei644/LLSwitch
    • 如果您认为我的回答或其他回答回答了您的问题,请考虑通过单击复选标记接受其中任何一个。
    【解决方案2】:

    你可以通过代码做到这一点

    switch.transform = CGAffineTransformMakeScale(0.75, 0.75)
    

    或者尝试 UIButton 与您的自定义开关的图像并更改其选择属性。

    【讨论】:

      【解决方案3】:

      您不应该调整 UISwitch 的大小。这确实是可能的(例如通过应用 CGAffineTransform),但正如 Apple 在其 API 指南中所述,您不应调整默认 UI 元素的大小。

      如果您想要自定义解决方案,您可以创建自己的开关 - 许多应用程序使用自定义 UI 控件,这是 Apple 的 not prohibited。创建UIControlUIButton 或任何最适合您需要的子类,添加自定义初始化和状态处理代码,一切顺利!这些控件可以根据需要在逻辑上调整大小。

      【讨论】:

        猜你喜欢
        • 2011-02-26
        • 2014-12-01
        • 2013-02-18
        • 1970-01-01
        • 2018-07-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多