【发布时间】:2016-03-29 21:21:57
【问题描述】:
我设置了 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 值以自动将新按钮“浮动”到刚刚创建的按钮的右侧?在上面的代码中,我明确说明了 X 的位置,但是一旦这些按钮在代码中动态创建,它将无法正常工作。
编辑 为了澄清我上面的问题: 我附上了一张图片。请注意按钮如何始终水平堆叠/下一个,无论是 2 3 4 还是 5。这些按钮将动态显示。因此,在我上面提供的代码尝试中,它不起作用,因为它明确设置了按钮在 X 轴上的放置位置。
【问题讨论】:
-
.. 请更详细地描述您想要什么?您希望在代码中添加按钮时动态调整其大小?
-
.. 还是要将新按钮放在最后一个按钮旁边?
-
@Joe 你能实现如上图描述的代码吗?
-
@Vaibhav Jhaveri - 我使用了 Dan Levy 解释的堆栈视图。
-
@Joe 如果可能的话,你能分享一下实现吗?
标签: swift uiscrollview uibutton cgrectmake