swift 开发——强制横屏或者竖屏

本文介绍了一种在iOS应用中实现横竖屏切换的方法。通过在AppDelegate中设置属性及重写代理方法,可以灵活地控制界面方向。同时提供了两个全局方法来方便地在不同控制器中调用以实现屏幕方向的改变。

在AppDelegate中:

1.添加属性:

    var isForceLandscape:Bool = true //标记是否横屏

2.重写代理方法:

func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {

        if self.isForceLandscape {

            return UIInterfaceOrientationMask.landscapeRight 

        }

        return UIInterfaceOrientationMask.portrait

    }

写两个全局方法:

func setHengP() {

    appDelegate.isForceLandscape = true

    let value = UIInterfaceOrientation.landscapeRight.rawValue

    UIDevice.current.setValue(value, forKey: "orientation")

}

 

func setShuP(){

    appDelegate.isForceLandscape = false

    let value = UIInterfaceOrientation.portrait.rawValue

    UIDevice.current.setValue(value, forKey: "orientation")

}

在需要横屏 或者 竖屏的controller中 的ViewWillAppear调用相应方法;在ViewWillDisappear方法中将原来设置回来;

转载于:https://my.oschina.net/u/2532095/blog/1531465

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值