小编Moh*_*hah的帖子

如何将我的viewWillTransition保留到一个视图控制器而不是全部?

这就是我重写视图控制器的方式,但是,如果还有另一种更好的方法可以做到这一点,并且使我的第二个视图控制器与重写不符,请直接指导我,任何建议都可以。

override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {


    coordinator.animate(alongsideTransition: { (UIViewControllerTransitionCoordinatorContext) -> Void in

        let orient = UIApplication.shared.statusBarOrientation

        switch orient {
        case .portrait:
            print("Portrait")
            self.applyPortraitConstraint()
            break
        // Do something
        default:
            print("LandScape")
            // Do something else
            self.applyLandScapeConstraint()
            break
        }
    }, completion: { (UIViewControllerTransitionCoordinatorContext) -> Void in
        print("rotation completed")
    })
    super.viewWillTransition(to: size, with: coordinator)
}

 func applyPortraitConstraint(){
    stackView.axis = .vertical
    stackView.distribution = .fill
}

 func applyLandScapeConstraint(){
    stackView.axis = .horizontal
    stackView.distribution = .fillEqually
}
Run Code Online (Sandbox Code Playgroud)

xcode overriding ios swift

2
推荐指数
1
解决办法
1366
查看次数

标签 统计

ios ×1

overriding ×1

swift ×1

xcode ×1