如何控制iOS工具栏上的UIBarButtonItem控件的布局?

问题描述 投票:0回答:1

在我的工具栏上,我试图正确布置三个按钮。中间应保持水平居中的一个,然后向左对齐一个,向右对齐一个。但是,因为左按钮的文本比中按钮或右按钮的文本长,所以间隔项似乎不会产生所需的间隔效果。我已经尝试了固定和灵活两种方法,但是使用固定类型当然不会动态响应不同的屏幕宽度,并且灵活宽度的(UIBarButtonSystemItemFlexibleSpace)不会使中间按钮居中。

我已经在Interface Builder和程序中定义了布局,并且得到了与您在这里看到的效果相同的效果。例如,iPhone 6s看起来像:

enter image description here

和iPhone 11 Pro看起来像:

enter image description here

您可以看到“中间”按钮未居中。通过使用UIBarButtonSystemItemFixedSpace而不是UIBarButtonSystemItemFlexibleSpace,我可以精确地定义间隔物的宽度,但是为了正确地计算间隔物的宽度,我需要知道每个UIBarButtonItem的宽度以及正确的委托方法来做到这一点。我必须进行自定义视图(或其他操作)以使该UIToolbar看起来像我想要的吗?

ios layout alignment uibarbuttonitem uitoolbar
1个回答
0
投票

尝试在短标题中添加前导空格,或使用以下项目:

长文本按钮,灵活空间,中间按钮,灵活空间,固定空间,短按钮

固定空间将是一个硬编码值,以匹配两个按钮之间的宽度增量。

© www.soinside.com 2019 - 2024. All rights reserved.