2 有一排按钮,需要等间距排列,并自动适应屏幕:
处理思路:
首先把建立按钮的间距约束,创建步骤;按住“星期一”并按住ctrl拖动到“星期二”上释放,就创建好了
然后把这个约束按住ctrl拖动到viewcontroller中,创建约束的引用:
//间距约束第一个和第七个按钮是贴边自适应的
@IBOutletweakvar leading21:NSLayoutConstraint!
@IBOutletweakvar leading32:NSLayoutConstraint!
@IBOutletweakvar leading43:NSLayoutConstraint!
@IBOutletweakvar leading54:NSLayoutConstraint!
@IBOutletweakvar leading65:NSLayoutConstraint!
最后在代码中获取当前屏幕宽度,计算适当的间距,然后更新约束的constant:
- //屏幕宽度
- let screenWidth = Int(UIScreen.mainScreen().bounds.size.width)
- //一个按钮的宽度 共7个按钮,求按钮间距
- let abutWidth=42
- print("间隔调整前:\(leading65.constant)")
- //按钮间隔
- let gapWidth=(screenWidth-abutWidth*7)/6
- self.leading21.constant = CGFloat(gapWidth)
- leading32.constant = CGFloat(gapWidth)
- leading43.constant = CGFloat(gapWidth)
- leading54.constant = CGFloat(gapWidth)
- leading65.constant = CGFloat(gapWidth)
- print("间隔调整后:\(leading65.constant)")