Swift - 自动在刚刚添加的按钮右侧添加一个按钮

标签 swift uiscrollview uibutton cgrectmake

我设置了一个 UIScrollView,并使用 addSubView 添加 5 个按钮。这是我的 viewDidLoad 中的代码。

    let codedButton:UIButton = UIButton(frame: CGRectMake(0, 0, 100, 50))
    codedButton.backgroundColor = UIColor.redColor()
    codedButton.setTitle("Button 1", forState: UIControlState.Normal)
    codedButton.addTarget(self, action: #selector(ViewController.buttonAction(_:)), forControlEvents: UIControlEvents.TouchUpInside)
    codedButton.tag = 1
    self.buttonScrollView.addSubview(codedButton)
    
    let codedButton2:UIButton = UIButton(frame: CGRectMake(110, 0, 100, 50))
    codedButton2.backgroundColor = UIColor.redColor()
    codedButton2.setTitle("Button 2", forState: UIControlState.Normal)
    codedButton2.addTarget(self, action: #selector(ViewController.buttonAction(_:)), forControlEvents: UIControlEvents.TouchUpInside)
    codedButton2.tag = 2
    self.buttonScrollView.addSubview(codedButton2)

(一直到 5。)

我需要帮助解决的问题是...最终,这些按钮将动态显示。不只是固定数量 5。

如何调整 CGRectMake 的 X 值以自动将新按钮“ float ”到刚刚创建的按钮右侧?在上面的代码中,我明确说明了 X 的位置,但是一旦这些按钮在代码中动态创建,就无法正常工作。

编辑 为了澄清我上面的问题: 我附上了一张图片。请注意按钮如何始终水平堆叠/彼此相邻,无论是 2 3 4 还是 5 个。这些按钮将动态显示。因此,根据我上面提供的代码尝试,它将不起作用,因为它显式设置了 X 轴上按钮的放置位置。

我需要修改我的代码才能执行如下图所示的操作。 I need my code edited so that it automatically stacks the new buttons horizontally.

最佳答案

我发现您正在以编程方式执行此操作。我无法帮助编写代码,但 Storyboard中的堆栈 View 非常棒。我的应用程序中有一个功能,其中有 4 个按钮,但用户可能只能看到 4 个按钮中的 2 个。

1) 将按钮水平添加到 Storyboard 中(它们不需要完全对齐,只要足以让 Xcode 识别出它是水平的而不是垂直的即可。

2) 选择全部 5 个按钮

3) 单击 Xcode 右下角的堆栈 View 按钮(该按钮有 4 条水平线和一个向下的箭头。

4)在属性检查器中,选择水平作为轴,对齐为中心,按比例填充,调整间距,然后选择比例填充作为模式。

5)在Swift文件中,您可以使用button.hidden = true/false添加或隐藏按钮

注意:请记住,当我上次检查时,堆栈 View 仅适用于 iOS 9

关于Swift - 自动在刚刚添加的按钮右侧添加一个按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36295316/

相关文章:

ios - Swift:For 循环 - 在迭代之前等待动画完成

iphone - 按钮背景设置

iphone - 我需要一种方法来检测我的 UIButton 上的最后五次点击时间

swift - 删除的 tableviewcell 被最后一个单元格替换

objective-c - 更改 subview 后 UIScrollView 不遵守 minimumZoomScale

swift - 可以为 CALayer 的 alpha 设置动画,但不能为 backgroundColor 设置动画

iphone - 将 subview 添加到具有附加 subview 的 ScrollView

ios - 无法将图像加载到 ScrollView 中进行缩放和滚动

ios - 如何使用其父类(super class)的实例初始化我的子类?

ios - 在这里iOS高级 map -setAppId崩溃