【发布时间】:2014-04-07 04:18:11
【问题描述】:
在UIToolbar 中,我在栏的中间添加了一个UITextField(作为UIBarButtonItem 添加),旁边还有另一个UIBarButtonItem(操作按钮)。我在最左边和最右边添加了灵活的空格键按钮项目。它在纵向上看起来很棒,但是当我旋转到横向时,它使它们居中并且看起来还可以,但是我需要拉伸文本字段以填充宽度并将最后一个按钮向右推 - 就像它在消息中一样 - on iPhone 和 iPad。
我认为自动布局可以解决问题,但 Apple 声明您不能为 UIBarButtonItems 创建约束。实际上,当我选择任何条形按钮或文本字段时,它不允许创建任何约束。
您能告诉我如何完成此操作吗?谢谢!
编辑:我尝试了其他一些固定/灵活空间的组合。当我不添加任何内容时,文本字段和分享按钮被推到左侧:
如果我改为使用固定空格,它看起来与上面的 0 宽度完全相同,或者如果我设置一个宽度,那么它显然会将它们推倒。最右边的最后一个空格没有效果 - 它没有固定在最右边,所以它会离开屏幕。
我试过左边固定空间,右边灵活,中间固定(或者没有中间),和上面的截图一样。然后我把中间的改成灵活的,结果是这样的:
如果我将第一个更改为灵活,中间没有(或者如果我添加一个固定的),并在右侧固定,则将其移到右侧:
如果第一个是灵活的,中间是灵活的,右边是固定的,是这样的:
在所有情况下,文本字段的宽度都保持与故事板中最初设置的静态值相同。我认为问题在于,当您通过拖动框架设置宽度时,没有可捕捉的蓝色参考线,因此它将始终保持相同的宽度。
我错过了任何空格组合吗?如果我无法在界面构建器中实现所需的行为,如何在代码中实现这一点?
【问题讨论】:
标签: ios uitextfield autolayout uibarbuttonitem uitoolbar