带有自动布局的不同本地化标题的按钮

Button with varying localized title with auto layout

我正在考虑尝试在现有应用程序上使用自动布局。该界面在主 window 上有一个按钮。该按钮根据应用程序的状态更改其标题。我打算本地化应用程序。

由于自动布局不知道(在 NIB 中)按钮将采用的各种标题的长度,我如何保证按钮在每次本地化时的大小都能够满足适合每个本地化的 longest-length 标题?

完成此任务的正确方法是什么?非常感谢。

如果您对按钮进行了限制,只需删除它的固定宽度限制,按钮将根据文本的宽度自动适应。

你不需要做太多改变。您只需添加对齐约束即可。现在给它宽度和高度约束,并使它们大于等于你想要的最小值。看到这个。

我为对齐添加了水平居中和垂直居中。您可以更改为任何。现在这里的宽度大于等于 42.0,高度大于等于 21.0。现在,如果您只是更改按钮的文本,那么它会相应地增加其高度和宽度。您只需要在更改文本后立即调用此行。

[self.view layoutIfNeeded];

现在你可能会有疑问,你想限制宽度然后增加高度。这是解决方案。你给它的宽度小于等于最大宽度,它不会增加宽度超过那个。看这里。

这里我的最大宽度是 200.0.但是请确保如果您在 iOS 中添加这些布局约束并且它是一个 UILabel 那么 Lines 是 0 如果它是一个 UIButton 那么 Line BreakWord WrapCharacter Wrap,但在 OS 中,NSButton 的 X 增加高度取决于您的按钮类型。