【问题标题】:Shrink button font size in Stackview (Swift)在 Stackview (Swift) 中缩小按钮字体大小
【发布时间】:2021-04-17 23:15:29
【问题描述】:

我有两个stackView,每个都有按钮。在我选择的字体大小下,它们在较小的手机上会延伸到屏幕之外。

我想减小 BOTH stackViews 中所有按钮的字体大小,并希望所有按钮都具有相同的字体大小。有没有一种简单的方法可以动态调整两个 stackView 中所有按钮的字体大小,以使它们都适合并具有相同的字体大小?

我可以通过计算最大堆栈视图的每个标题中的字符来硬连线它,然后计算视图宽度的百分比并缩放所有它们的字体大小,但我想知道是否有任何内置的。

(“fillEqually”不起作用,因为按钮标题的长度不同,因此按钮的宽度也不同。)

这是一个例子:

【问题讨论】:

    标签: ios swift


    【解决方案1】:

    对不起,我不太明白你的意思。 在我看来,按钮的宽度是自动计算的。默认情况下,我们不需要指定大小和字体,swiftui就可以正常显示。如需设置字体大小,可在按钮后继续指定字体。

    这样设置字体:

    【讨论】:

    • 我重写了这个问题试图澄清。这是一个水平的stackView。在较小的手机上,最后一个按钮的某些字符会延伸到屏幕之外。我想减小较小手机的字体大小,但不想在较大的设备上这样做。
    • 这确实是一个具有挑战性的问题。我试图通过指定框架的宽度和高度范围来限制框架在小屏幕上的性能
    【解决方案2】:

    我能想到的唯一办法就是在小屏设备上通过指定框架的最小和最大宽高值,以及行数来显示框架,可能会有帮助

    【讨论】:

    • 按钮和 stackView 是在 Storyboard 中创建的,以便简化一些事情。但我可能不得不求助于硬接线。我的第一个想法是将字体大小乘以maxCharsInViewWidth/TotalCharsInLongestStackview 并将其应用于所有标签。或者stackViewWidth/ScreenWidth...
    猜你喜欢
    • 2017-10-21
    • 2019-05-07
    • 2012-09-12
    • 2018-02-14
    • 1970-01-01
    • 1970-01-01
    • 2017-09-26
    • 2023-04-05
    • 1970-01-01
    相关资源
    最近更新 更多