天天看點

ios 視圖切換翻頁效果

本文寫的是視圖切換,涉及到的内容有

1.實作代碼添加Navigation Bar  Toolbal;

2.實作在Navigation Bar和Toolbar上用代碼添加Bar Button Item;

3.UIView層面的簡單動畫效果

先把實作結果功能截圖貼出來,對應動畫效果

開始界面 和第一次向上翻頁

向上翻頁 和向下翻頁

從左向右翻頁 和從右向左翻頁

開始制作:

1.建立一個新工程叫NVDemo; File->New->Project ->single View Application -> next

2.在建立兩個ViewController,分别為FirstViewController和SecondViewController,順便把XIB一塊生成好

3.首先在視圖上添加導航欄和導航按鈕,經測試導航欄上隻能添加兩個導航按鈕,和設定一個title标題;

我們還需要知道的一個常識是NavigationBar  ToolBar  Tab  Bar  都是44像素,是以在設定他們寬度時候他們的高度設定成44

還有一個通知欄,顯示電量資訊信号的地方是20像素;

           [navigationBar pushNavigationItem:navagationItem animated:YES];涉及到一個壓棧的操作,把navigationItem壓到navigationBar裡,導航欄上隻能添加左右兩個按鈕;是以是setLeftBarButtonItem 和 setRightBarButtonItem,最後再将navigationBar添加到視圖之上;

         在Toolbar上添加可以添加各種按鈕,建立一個可變數組,把添加的按鈕全部放到數組上,[toolBar setItems:toolBarArray animated:YES];将數組裡按鈕集合添加到了toolBar上面,選取圖檔的時候素材沒選好,是以顯示出來的圖檔那個按鈕效果不是太好

4.接下來說的是按鈕事件,因為需要用到FirstViewController和SecondViewController,在RootViewController.m添加上他們的頭檔案,為了差別确實是兩個視圖的切換,在他們的ViewDidLoad函數中初始化視圖的背景顔色,

self.view.backgroundColor = [UIColor yellowColor];  和self.view.backgroundColor = [UIColor redColor];

按鈕時間再次也不做過多解釋,全部寫在注釋裡了,其他幾個都一樣,隻是修改了動畫效果,變化不大,詳情可下載下傳源代碼研究一下;

咱在這在研究一個問題,在RootAppDelegate.m中我們先看看系統生成的代碼

系統直接加載的就是的RootViewController的視圖,也就是彈出第一個界面是RootViewController.xib,假如說我想第一個就顯示的FirstViewController控制的視圖怎麼辦? 我們就可以在這個函數中進行重寫

在delegateApp.h中@class RootViewController後面添加@class FirstViewController;此處聲明一個類,在這樣當我們添加@property (strong, nonatomic) FirstViewController *fTestViewController;才不會報錯;

隻需修改兩行代碼,此處注釋原先加載RootViewController視圖的代碼,可能是我命名的不夠合理,RootViewController和rootViewController要差別開,一個工程建立的,一個是系統本身自動生成的

然後再到我們的FirstViewController.m的ViewDidLoad函數先添加幾行代碼,以示差別

然後,當運作程式的時候,加載的就是FirstViewController的視圖了

     本文轉自新風作浪 51CTO部落格,原文連結:http://blog.51cto.com/duxinfeng/1208749,如需轉載請自行聯系原作者

繼續閱讀