将 UISwitch 连接到一个动作,我们可以在图像视图的水平或垂直布局之间切换动画

@IBAction func axisChange(sender: UISwitch) {
    UIView.animateWithDuration(1.0) {
        self.updateConstraintsForAxis()
    }
}

updateConstraintForAxis 函数只是设置包含两个图像视图的堆栈视图的轴:

private func updateConstraintsForAxis() {
    if (axisSwitch.on) {
        stackView.axis = .Horizontal
    } else {
        stackView.axis = .Vertical
    }
}

下面的动画 gif 让你了解它是如何出现的:

http://i.stack.imgur.com/n0ZX0.gif