iOS_横竖屏适配

前言:

由于近期新浪博客无法登陆,导致个人的博客不再维护,闲来发现这个平台比博客更好一些,所以思虑再三,打算移植技术到中发展。。。

无语了,由于账号不绑定手机的话,没办法发布文章,再加上近期生活繁忙,所以才拖到现在才可以发布,555555

闲话不多说:直接上代码

关于横竖屏适配问题

1.全局定制,在下面这个地方,勾选如下:保证所有的横竖屏都支持

再次,在AppDelegate里面定义Bool属性如为:isHeng

则在其.m实现中写下如下方法:

-(UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window {

if (self.isHeng) {// 横屏

return UIInterfaceOrientationMaskLandscape;

}else {

return UIInterfaceOrientationMaskPortrait;

}

}

2.如何保证横竖屏交互

这样,可以保证大部分界面是竖屏模式,当遇到需要展示位横屏的界面时,如A跳到B,则

首先在A界面跳转B界面地方修改B的isHeng 为Yes,并在A界面设置自动翻转函数为No(也即是强制翻转)

- (BOOL)shouldAutorotate

{

return NO;

}

其次,在B界面的页面上写下如下的如:

-(UIInterfaceOrientationMask)supportedInterfaceOrientations {

return UIInterfaceOrientationMaskLandscape;

}

-(BOOL)shouldAutorotate {

return NO;

}

3.横竖屏切换有个明显的问题是:横屏的情况(播放视频,股票K线图)等会隐藏状态栏,而当竖屏时又会显示,故而应在横屏界面加入以下代码即可:

- (void)viewWillAppear:(BOOL)animated

{

[super viewWillAppear:animated];

[UIApplication sharedApplication].statusBarHidden = YES;

}

- (void)viewWillDisappear:(BOOL)animated

{

[super viewWillDisappear:animated];

[UIApplication sharedApplication].statusBarHidden = NO;

}

综上,横竖屏问题全部解决,

感悟:对于类似横竖屏这样的全局问题,应该多多考虑在AppDelegate 中全局设置,类似nav在AppDelegate中全局设置的问题

最后:附上当年的新浪博客博文目录:碉堡的程序猿的博客

欢迎交流哦!


于2017年7月13号第一次修改:更改内容为添加当年我的新浪博客的博文地址!

你可能感兴趣的:(iOS_横竖屏适配)