使用自动布局在酒吧中的项目之间排列水平空间

问题描述:

我目前有一个像这样的视图,我如何设置约束条件以在所有尺寸的屏幕上同样显示Iphone 7审查项目?我已经尝试了很多约束,包括stackView,但没有用。非常感谢你,祝你有美好的一天。使用自动布局在酒吧中的项目之间排列水平空间

enter image description here

+0

您可能需要使用stackview为 – sanman

+0

我试过,但它似乎并不好。完成按钮仍然没有分开,我也想知道另一种解决方案。 –

+0

@DuyKhanhNguyen你需要底部图标被平等对齐吗?如果他们有一个更好的选项堆栈视图,请尝试给予等宽和高度约束。 –

可使用5个视图在黑色的观点:

image

约束的第一种观点:

  • 导致空间上海华:0
  • 底部topview to superview:0
  • 尾随空间到第二视图:0

约束的第二,第三和第四视图:

  • 导致空间到左视图:0
  • 底部和顶部的空间,以上海华:0
  • 尾随空间到右视图:0
  • 等于与和相同的高度与第一视图

约束的最后一个(第5次)视图:

  • 导致空间到左视图(第4次):0
  • 底部和顶部的空间,以上海华:0
  • 尾随空间上海华:0
  • 等于与第一视图相等的高度

然后在你的按钮或元素中插入它们的约束(例如,水平中心/垂直中心)

使用UIToolbar其中有UIBarButtonSystemItemFlexibleSpace项目,您可以放置​​在您的5个常规项目之间。

在的OBJ-C代码,你会做这样的事情:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    [self.navigationController setToolbarHidden:NO]; 

    UIBarButtonItem* spaceItem1 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace 
                       target:self 
                       action:nil]; 

    ... create other items ... 

    self.toolbarItems = @[ item1, spaceItem1, item2, spaceItem2, ... ]; 

    ... 
}