你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> UIView中視圖關系分析以及視圖跳轉動畫的使用

UIView中視圖關系分析以及視圖跳轉動畫的使用

編輯:IOS開發綜合
現學習IOS開發,在看別人代碼時看到別人使用UIView中的exchangeSubviewAtIndex方法進行了視圖跳轉。花了點時間仔細學習了一下UIView中的視圖關系,可能對於很多人來說已經算是小兒科,但是希望能幫助到用到的人,下面把我學到的東西分享給大家。    exchangeSubviewAtIndex:withSubviewAtIndex: 首先必須的先看看官方文檔,   Exchanges the subviews at the specified indices.結合著方法調用時需要傳遞   的參數可以這樣很准確的翻譯,在指定一個子view集合中,交換兩個子view。   再看一下UIView的聲明,NSArray *subviews;這樣就不難理解了,對於UIView   就像一個大容器,裡面可以承載很多東西,你可以通過addSubview方法向UIView   中添加子View(子View也可以是UIView),當然可以覆蓋(後添加上來的視圖蓋   在先添加的視圖上面),而大容器UIView對象就會把你添加進來的子view統一存放   在subviews裡面進行管理,而子view也具有自己的索引index,IOS中索引也是從0   開始,第一個添加進來的view是index = 0;以後按照順序逐漸增加。這樣一想,對   於IOS開發中的視圖關系一下子就清楚了。這樣再去看   exchangeSubviewAtIndex:withSubviewAtIndex方法就變得好理解多了。        那麼很多人使用exchangeSubviewAtIndex:withSubviewAtIndex方法是進   行視圖跳轉的,其實從上面分析的結果來看也很是簡單了,在一個UIView   中添加視圖1、視圖2、視圖3,當前顯示的是視圖3,向要跳轉到視圖1,   只需要調用方法,把視圖1的索引和視圖3的索引傳入到方法中就可以完   成視圖的跳轉了。       有人會問了,子view的索引怎麼得到,我在浏覽帖子的時候發現有人說得   不到,臥槽,子view都是統一在subviews裡面管理的怎麼可能得不到呢。   得到的方法很簡單,subviews是NSArray對象,NSArray對象裡有個方法   indexOfObject,把你想要得到索引的子view對象傳過去就可以得到這個   view的索引了。子view視圖怎麼得到,定義成全局是一種方法,也可以   通過tag得到視圖(UIView中的一個方法 viewWithTag,這個方法類似於   Android中的findViewByI'd),當然事先你得為子view設置tag了。     exchangeSubviewAtIndex:withSubviewAtIndex方法是完成視圖跳轉的沒錯   ,其實大部分是完成那麼有動畫效果的視圖跳轉,就像以前學習Android時   對於IOS上的立體翻轉動畫效果很是崇拜,在IOS上很簡單,廢話不多說了。   上代碼:           [UIViewbeginAnimations:@"animationID"context:nil];//開始一個動畫塊,第一個參數為動畫塊標識          [UIViewsetAnimationDuration:1.5f];//設置動畫的持續時間     //設置動畫塊中的動畫屬性變化的曲線,此方法必須在beginAnimations方法和commitAnimations,默認即為UIViewAnimationCurveEaseInOut效果。詳細請參見UIViewAnimationCurve     [UIViewsetAnimationCurve:UIViewAnimationCurveEaseInOut];          [UIViewsetAnimationRepeatAutoreverses:NO];//設置是否自動反轉當前的動畫效果           //設置過渡的動畫     效果,此處第一個參數可使用5種動畫效果     [UIViewsetAnimationTransition:UIViewAnimationTransitionFlipFromLeftforView:self.viewcache:YES];       //設置完成後啟動跳轉方法     [self.viewexchangeSubviewAtIndex:1withSubviewAtIndex:2];         [UIViewcommitAnimations];//提交動畫  
  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved