成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iPad 和 iPhone 屏幕旋轉支持 圖文詳解

移動開發 iOS
本文介紹的是iPad 和 iPhone 屏幕旋轉支持 圖文詳解,一個不錯的小實例,與友們分享一下!

iPad iPhone 屏幕旋轉支持 圖文詳解是本文要介紹的內容。最近做ipad項目,遇到不少屏幕轉屏發生的錯誤現象。(其中有些還是自己編碼時的疏忽和不規范導致的)

那以下就是總結一些做支持旋轉的時候的一些思路和碰到的問題時如何解決的。

首先描述 下工程的大體的一個結構特征。

工程是以UISplitViewController 為依托,然后它的viewControllers分別是    UITabBarController 和 UINavigationController。其中UITabBarController里面的viewControllers又分別是一個個UINavigationController組成。

iPad 和 iPhone 屏幕旋轉支持 圖文詳解

具體詳見圖1豎屏

iPad 和 iPhone 屏幕旋轉支持 圖文詳解

圖2橫屏

首先這邊碰到一個問題是在橫屏的時候要是沒有對處理UITabBarController進行處理那么會出現在橫屏啟動程序的時候***個UINavigationController會向下降低20像素的現象

iPad 和 iPhone 屏幕旋轉支持 圖文詳解

詳見圖3

導致這個現象現在暫時的一個處理是在創建UITabBarController的時候先tabBarCtr.selectedIndex = 1;

然后在方法

  1. (void)viewDidLoad  
  2.  
  3. tabBarCtr.selectedIndex = 0;  

這樣就可以暫時解決掉橫屏顯示異常的現象。(到時候在找到具體解決方法的時候在更新)

以上這邊就是程序的大體的一個組成結構,下面進入到我們正式的屏幕旋轉的時候是如何支持的。

以下針對的是主ctr 的操作即 UISplitViewController

屏幕旋轉其實就是要管理好 1、UIViewController  2、添加在UIViewController上的view或者單獨的一些view的處理控制。

首先對應UIViewController它里面提供了很多旋轉時候的一些代理和方法。

1、設置支持自動適應橫豎屏

  1. (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation   
  2. {  
  3.  return YES;  

2、在屏幕快要發生改變的時候進行處理

  1. (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration  
  2. {  
  3. //其實我們在這邊要做的就是傳遞旋轉消息和對view做相應的改變  
  4.    for (int i=0; i<[tabBarCtr.viewControllers count]; i++)  
  5.    {  
  6.  UINavigationController *navCtr = (UINavigationController *)[tabBarCtr.viewControllers  objectAtIndex:i];  
  7.  NSArray *ctrs = navCtr.viewControllers;  
  8.  for (int j=0; j<[ctrs count]; j++)   
  9.  {  
  10.   //傳遞旋轉的消息到UITabBarController底下的UIViewController    
  11.   UIViewController *viewCtr = (UIViewController *)[ctrs objectAtIndex:j];  
  12.   [viewCtr willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration];  
  13.   if ([viewCtr.view respondsToSelector:@selector(reloadSubviews)])  
  14.   {  
  15.    //對UIViewController進行重新刷新view的位置的操作  
  16.    //reloadSubviews方法就是在每個ctr類中實現對ctr 上view重新布局的操作  
  17.    [viewCtr.view performSelector:@selector(reloadSubviews)];   
  18.   }  
  19.  }  
  20.   [navCtr willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration];  
  21.     }  
  22.  //以上這種方式就已經對UIViewController和其上的view進行了旋轉的相應操作  
  23.  //個人覺得當然這里也可以用通知進行消息的傳遞  

在某個ctr中 的 reloadSubviews方法樣例

  1. (void)reloadSubviews  
  2. {  
  3.  CGRect frame =  getScreenRect();//用來獲取當前旋轉后屏幕的大小  frame就是為刷新提供大小  
  4.  AA.frame = CGRectMake(frame.size.width-140, 104, 120, 40);  
  5.  BB.frame = CGRectMake(frame.size.width-140, 44, 120, 40);   
  6.  Ctr.view.frame = CGRectMake(0, 200, frame.size.width, frame.size.height-200);  
  7.  [tableView reloadData];  

ipad旋轉的時候如果在橫屏的時候對UIViewController 進行push多層的時候出現異常(push后退出的動作本來是從右向左的展示,但是怪象就是退出的時候變成從上到下的操作)

其實這個時候要去檢查下你push的UIViewController 中對shouldAutorotateToInterfaceOrientation設置是否為與上層的ctr方法返回一致

如上層返回

  1. (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation   
  2. {  
  3.  return YES;  

那么你這邊也應當是YES

小結:關于iPad iPhone 屏幕旋轉支持 圖文詳解的內容介紹完了希望本文對你有所幫助!

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-12-13 14:15:26

微軟OneNoteiPad

2011-07-06 15:59:38

iPad iPhone iOS

2021-11-15 17:47:07

屏幕切換機制

2011-05-11 22:47:34

甲骨文ipadiphone

2011-08-19 14:47:48

iPhoneiPhone4iPad

2021-05-17 07:17:24

蘋果ARVR

2019-04-12 11:20:15

iPhoneiPad AirPlaWindows 10

2011-06-28 09:28:32

InformationiPadiPhone

2011-07-18 13:11:53

2011-08-05 16:58:25

iPad iPhone UIImagePic

2011-06-03 09:41:22

蘋果iPhoneiPad

2011-04-21 17:06:55

iPhoneiOS蘋果

2011-06-08 14:29:38

英特爾ARMiPhone

2016-02-23 13:06:10

Wi-Fi連接故障網絡連接

2014-09-17 13:48:16

iOS 8Size Classe

2014-07-16 10:08:30

2012-03-07 20:56:57

iPhone

2014-07-30 09:56:41

iPhoneiPad

2014-06-17 15:20:09

Wi-FiiPadiPhone

2019-08-13 18:50:46

折疊屏蘋果瑞銀
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 午夜影院免费体验区 | 久久久成人免费一区二区 | 中文字幕在线观看 | 激情五月婷婷综合 | 91精品国产91久久久久福利 | 欧美一区二区三区,视频 | 成人在线免费网站 | 超碰欧美 | 国产成人综合一区二区三区 | 四色永久| 午夜精品一区二区三区在线视 | 一区欧美| 亚洲精品久久久久久下一站 | 亚洲欧美精品 | 久久久网 | 精品国产乱码久久久久久老虎 | 欧美最猛黑人xxxx黑人 | 免费精品视频在线观看 | 午夜天堂精品久久久久 | 国产精品国产三级国产aⅴ中文 | 国产亚洲精品久久情网 | 怡红院免费的全部视频 | 中文字幕av第一页 | 一区二区免费 | 欧美在线观看一区 | 久久激情视频 | 91观看 | 三级av在线 | 国产一区91精品张津瑜 | 日干夜干 | 国产激情一区二区三区 | 亚洲综合中文字幕在线观看 | 99久久精品国产毛片 | 欧美日韩精品久久久免费观看 | 毛片视频免费 | 精品欧美一区二区三区免费观看 | 精品国产乱码久久久久久1区2区 | 欧美日韩在线观看视频网站 | 亚洲精品日韩精品 | 欧美一区二区三区视频 | 黄色一级大片在线免费看产 |