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

詳解iPad橫豎屏切換解決方案

移動開發(fā) iOS
本文介紹的是詳解iPad橫豎屏切換解決方案,詳細的介紹了橫豎屏切換的實例,來看詳細內(nèi)容。

詳解iPad橫豎屏切換解決方案是本文要介紹的內(nèi)容,不多說,先來看內(nèi)容。由于ipad橫豎屏不同,所以好的應用,橫豎屏的頁面布局也不一樣。那么就需要橫豎屏的整體解決方案。先看一個橫豎屏布局不一樣的界面。

詳解iPad橫豎屏切換解決方案 詳解iPad橫豎屏切換解決方案

上面兩張圖是來自同一個界面的橫豎版的截屏。可以看出,橫豎版顯示的內(nèi)容相同,但是界面布局不同。要實現(xiàn)上述布局,主要是運用UIView中l(wèi)ayoutSubviews方法。當UIView設置為自動適配屏幕時,當用戶旋轉設備的時候,會調(diào)用layoutSubviews方法,我們只需重寫這個方法,然后判斷用戶屏幕的方向。在調(diào)整每個空間的位置即可。

下面是實現(xiàn)上述界面的最簡單的原型:

首先分析可以知道左面是圖片,右面是一個圖片加文字的視圖。下面就實現(xiàn)一個左面視圖右面是一個圖加一段字的事例。

事例的截圖如下:

詳解iPad橫豎屏切換解決方案 詳解iPad橫豎屏切換解決方案

其中右面的文字和綠色部分是用一個子視圖封裝的。

整個布局是我在主視圖中添加了一個ContentView視圖,在ContentView視圖中添加了一個ArticleView視圖。

其中ArticleView和ContentView的xib文件都打開了

詳解iPad橫豎屏切換解決方案

在ContentView中重寫layoutSubviews方法,然后根據(jù)stausbar的方向判斷當前視圖的橫豎屏。具體代碼:

  1. -(void)layoutSubviews{   
  2.     [super layoutSubviews];   
  3.     UIDeviceOrientation interfaceOrientation=[[UIApplication sharedApplication] statusBarOrientation];   
  4.     if (interfaceOrientation == UIDeviceOrientationPortrait || interfaceOrientation == UIDeviceOrientationPortraitUpsideDown) {   
  5.         //翻轉為豎屏時   
  6.         [self setVerticalFrame];   
  7.     }else if (interfaceOrientation==UIDeviceOrientationLandscapeLeft || interfaceOrientation == UIDeviceOrientationLandscapeRight) {   
  8.         //翻轉為橫屏時   
  9.         [self setHorizontalFrame];   
  10.     }   
  11. }   
  12.  
  13. -(void)setVerticalFrame   
  14. {   
  15.     NSLog(@"豎屏");   
  16.     [titleLable setFrame:CGRectMake(283, 0, 239, 83)];   
  17.     [leftView setFrame:CGRectMake(38, 102, 384, 272)];   
  18.     [rightView setFrame:CGRectMake(450, 102, 282, 198)];   
  19. }   
  20.  
  21. -(void)setHorizontalFrame   
  22. {   
  23.     NSLog(@"橫屏");   
  24.     [titleLable setFrame:CGRectMake(183, 0, 239, 83)];   
  25.     [leftView setFrame:CGRectMake(168, 122, 384, 272)];   
  26.     [rightView setFrame:CGRectMake(650, 122, 282, 198)];   

在具體的橫豎屏方法中,從新設置各個組件的坐標即可。

接下來在ContentView中添加ArticleView視圖。

  1. -(id)initWithCoder:(NSCoder *)aDecoder   
  2. {   
  3.     if ((self = [super initWithCoder:aDecoder])) {   
  4.  
  5.         NSArray *arrayContentView =[[NSBundle mainBundle] loadNibNamed:@"ArticleView" owner:self options:nil];   
  6.         rightView=[arrayContentView objectAtIndex:0];   
  7.         [self addSubview:rightView];   
  8.     }   
  9.     return self;   

由于我用的是xib,所以初始化方法為initWithCoder,在這個中添加新的視圖。

同樣在ArticleView中設置橫豎屏相應空間的坐標即可。

  1. -(void)layoutSubviews{   
  2.     [super layoutSubviews];   
  3.     UIDeviceOrientation interfaceOrientation=[[UIApplication sharedApplication] statusBarOrientation];   
  4.     CGRect rect=self.frame;   
  5.     rect.size.width=282;   
  6.     rect.size.height=198;   
  7.     [self setFrame:rect];   
  8.     if (interfaceOrientation == UIDeviceOrientationPortrait || interfaceOrientation == UIDeviceOrientationPortraitUpsideDown) {   
  9.         //翻轉為豎屏時   
  10.         [self setVerticalFrame];   
  11.     }else if (interfaceOrientation==UIDeviceOrientationLandscapeLeft || interfaceOrientation == UIDeviceOrientationLandscapeRight) {   
  12.         //翻轉為橫屏時   
  13.         [self setHorizontalFrame];   
  14.     }   
  15. }   
  16.  
  17. -(void)setVerticalFrame   
  18. {   
  19.     NSLog(@"豎屏");   
  20.     [contentView setFrame:CGRectMake(12, 6, 250, 125)];   
  21.     [textLable setFrame:CGRectMake(50, 139, 182, 39)];   
  22. }   
  23.  
  24. -(void)setHorizontalFrame   
  25. {   
  26.     NSLog(@"橫屏");   
  27.     [contentView setFrame:CGRectMake(12, 6, 106, 158)];   
  28.     [textLable setFrame:CGRectMake(135, 11, 147, 39)];   

源代碼:http://easymorse-iphone.googlecode.com/svn/trunk/IpadLayOut/

小結:詳解iPad橫豎屏切換解決方案的內(nèi)容介紹完了,通過ipad屏幕切換的內(nèi)容,是不是以及很清楚了,最后希望本文對你有所幫助。

責任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關推薦

2013-08-21 11:15:54

iOS橫豎屏方案

2013-05-23 10:51:28

Android開發(fā)移動開發(fā)橫豎屏切換

2010-02-23 14:56:18

WCF Bug

2017-12-26 14:05:21

潤乾大屏可視化

2011-12-06 14:44:02

iPad企業(yè)級解決方案

2010-01-25 15:23:12

Android橫豎屏切

2009-12-02 13:39:34

SAP認證Novell

2011-06-08 15:05:43

J2ME

2018-11-12 11:12:46

2009-11-04 16:03:59

2010-05-07 16:30:01

Oracle數(shù)據(jù)集成

2023-03-05 18:23:38

分布式ID節(jié)點

2009-12-22 15:50:11

2009-11-05 09:42:44

智能小區(qū)寬帶接入

2019-11-11 17:34:16

前端開發(fā)技術

2009-10-15 10:39:31

綜合布線解決方案

2009-10-12 16:29:25

有線網(wǎng)絡布線解決方案

2018-12-03 11:59:42

Inventec解決方案

2018-12-03 12:26:30

YADRO解決方案

2018-12-03 12:13:21

Mellanox解決方案
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕免费在线 | 久久大陆| av一级在线观看 | a级免费观看视频 | 国产一级片 | 羞羞在线观看视频 | 亚洲在线视频 | 麻豆精品久久 | 久久久九九九九 | 黄色永久免费 | 一区二区三区国产精品 | 欧美一区永久视频免费观看 | 国产亚洲成av人片在线观看桃 | 国产成人在线一区二区 | 一二三在线视频 | 综合另类 | 国产视频欧美 | 久久久国产精品入口麻豆 | 在线午夜| 欧美一级二级在线观看 | 综合中文字幕 | 欧美久久免费观看 | 一区二区手机在线 | 日本h片在线观看 | 91视频在线 | 日韩欧美在线播放 | 岛国在线免费观看 | 在线欧美小视频 | 国产a区 | www亚洲精品| 99国产精品久久久久久久 | 亚洲精品一区二区三区蜜桃久 | 91久操网| 婷婷精品| 成人免费在线视频 | 亚洲成人午夜在线 | 日韩aⅴ视频 | 在线视频a | 羞羞视频在线观看网站 | 亚洲精品在线观看视频 | 成人精品国产一区二区4080 |