Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在Swift中以编程方式布置约束时,如何包含第三个变量?_Ios_Swift - Fatal编程技术网

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有点陌生-如果您使用的是扩展,您会把它放在哪里?我正在创建一个自定义的第三方键盘。