Ios 在Swift中以编程方式布置约束时,如何包含第三个变量?
我基本上有两个按钮放在一个大视图中,我希望按钮之间的距离等于大视图的倍数。例如,我想做如下事情:Ios 在Swift中以编程方式布置约束时,如何包含第三个变量?,ios,swift,Ios,Swift,我基本上有两个按钮放在一个大视图中,我希望按钮之间的距离等于大视图的倍数。例如,我想做如下事情: var buttonOneRightConstraint = NSLayoutConstraint(item: button1, attribute: .Right, relatedBy: .Equal, toItem: button2, attribute: .Left, multiplier: 1.0, constant: -largerView.frame.width/10) 它在一个方向上
var buttonOneRightConstraint = NSLayoutConstraint(item: button1, attribute: .Right, relatedBy: .Equal, toItem: button2, attribute: .Left, multiplier: 1.0, constant: -largerView.frame.width/10)
它在一个方向上运行良好,但在视图大小更改(例如,设备旋转)时不会更新
我想我应该让它在每次更新视图时计算largerView.frame.width,而不是将其视为常量,但不确定如何做到这一点 在
didFinishLaunchingWithOptions
方法中添加设备方向更改事件的观察者:
NSNotificationCenter.defaultCenter().addObserver(TheClassYouWantTheMethodToBeFired, selector: "rotated", name: UIDeviceOrientationDidChangeNotification, object: nil)
然后,计算rotated
新方法中的布局
在
didfishlaunchingwithoptions
方法中添加设备方向更改事件的观察者:
NSNotificationCenter.defaultCenter().addObserver(TheClassYouWantTheMethodToBeFired, selector: "rotated", name: UIDeviceOrientationDidChangeNotification, object: nil)
然后,计算rotated
新方法中的布局
对不起,我对Swift有点陌生-如果您使用的是扩展,您会把这个放在哪里?我正在创建一个自定义的第三方键盘。对不起,我对Swift有点陌生-如果您使用的是扩展,您会把它放在哪里?我正在创建一个自定义的第三方键盘。