前言:
由于近期新浪博客無法登陸,導致個人的博客不再維護,閑來發現簡書這個平臺比博客更好一些,所以思慮再三,打算移植技術到簡書中發展。。。
無語了,由于賬號不綁定手機的話,沒辦法發布文章,再加上近期生活繁忙,所以才拖到現在才可以發布,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號第一次修改:更改內容為添加當年我的新浪博客的博文地址!