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

问题描述:

我正在考虑冒险尝试并在现有应用程序上使用自动布局。该界面在主窗口上有一个按钮。该按钮根据应用程序的状态更改其标题。我计划本地化应用程序。具有不同本地化标题和自动布局的按钮

由于自动布局不知道(在NIB)该按钮将采用各种头衔的长度,我怎么能保证该按钮会为每个本地化,以这样的方式,它会适合大小每个本地化中最长的标题?

什么是正确的方法来实现这一目标?非常感谢。

+0

您可以在这里添加布局的屏幕截图。 –

+0

我还没有实现自动布局约束。一旦我这样做,如果我仍然需要帮助,我会确保发布布局的屏幕截图。 – wagill

+0

确定wagill。在需要时,将帮助您进行自动布局。 –

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

enter image description here

我已经加入中心的水平和垂直对准。这可以更改为任何。现在宽度在这里大于等于42.0,高度大于等于21.0。现在,如果你只是改变按钮的文本,那么它会根据这个增加它的高度和宽度。您只需在更改文本后调用此行。

[self.view layoutIfNeeded]; 

现在,您可能有问题想要限制宽度,然后增加高度。这是解决方案。你给它的宽度小于等于最大宽度,它不会增加更多的宽度。看这里。

enter image description here

这里我最大宽度为200.0。但要确保,如果要添加iOS中的布局限制,这是一个UILabel然后比线是0,如果它是一个UIButton那么换行符自动换行字符换,但在OS X增加NSButton的高度取决于你的按钮类型。

+0

谢谢Mahesh,您的详细回复。从你的答案我推断,该按钮将实时调整大小,因为我在运行时编程更改按钮的标题。现在我很好奇,如果窗口上的控件是水平对齐的(并且在我的界面中),那么窗口是否也会自动调整大小以适应扩展后的按钮大小?再次感谢你的帮助。 – wagill

+0

欢迎....如果您需要根据控件的文本调整窗口的大小,那么您只需要移除窗口的调整大小约束,并根据您的要求从控件指定前导,尾随,顶部和底部到其控件父视图无论你想调整大小,可能是一个窗口或任何东西,它也将调整大小。 –

如果你已经给你的按钮设定了约束条件,只要删除它的固定宽度约束条件,按钮就会按照文本的宽度自动调整。

+0

尝试添加示例代码,这将有助于用户更好地理解解决方案。 – Rudra

+0

感谢您展示@Rudra的方式,我会关心这一点。 – Jaimish