当前位置 : 主页 > 手机开发 > 其它 >

swift – 使用自动布局以纵向和横向在横向中垂直定向堆栈视图

来源:互联网 收集:自由互联 发布时间:2021-06-11
以纵向方式获取垂直堆栈视图以在横向中水平对齐的最佳方法是什么.我已经尝试过代码和自动布局解决方案但它们没有用.在故事板中有没有简单的方法呢? 当旋转发生时,您需要以编程
以纵向方式获取垂直堆栈视图以在横向中水平对齐的最佳方法是什么.我已经尝试过代码和自动布局解决方案但它们没有用.在故事板中有没有简单的方法呢? 当旋转发生时,您需要以编程方式更新 UIStackView的轴属性.文件说:

The exact layout varies depending on the stack view’s axis,
distribution, alignment, spacing, and other properties.

纯粹使用故事板无法实现这一目标.

工作方案

我创建了一个演示项目并验证它是否有效.我由一个视图控制器组成.

class ViewController: UIViewController {

    @IBOutlet weak var stackView: UIStackView!

    override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator:UIViewControllerTransitionCoordinator) {

        coordinator.animateAlongsideTransition({ (context) -> Void in

            let orientation = UIApplication.sharedApplication().statusBarOrientation

            if orientation.isPortrait {
                self.stackView.axis = .Horizontal
            } else {
                self.stackView.axis = .Vertical
            }

            }, completion: nil)
    }
}

stackView是在故事板中创建的UIStackView,初始轴设置为Horizo​​ntal.

enter image description here

网友评论