前言:
由于近期新浪博客无法登陆,导致个人的博客不再维护,闲来发现简书这个平台比博客更好一些,所以思虑再三,打算移植技术到简书中发展。。。
无语了,由于账号不绑定手机的话,没办法发布文章,再加上近期生活繁忙,所以才拖到现在才可以发布,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号第一次修改:更改内容为添加当年我的新浪博客的博文地址!