天天看點

iOS7開發學習之路:No.7 引導頁

衆所周知,現如今的app各式各樣的引導頁層出不窮,這其中不乏很多經典之作,當然引導頁做的成功與否,更多的是在設計上,如果做出簡明卻又精彩的引導頁确實是考驗pd們的活。當然,這裡是技術blog,就重點說下如何才能在程式首次運作的時候運作引導頁吧。

首先手動添加一個類,名字就叫做userguideviewcontroller吧,是繼承自uiviewcontroller的,

.h:

添加兩個函數,一個是初始化頁面的函數,另一個是在引導頁的最後一個頁面,有個按鈕,使用者點選後進入到程式的主界面

.m

核心代碼就是initguide了,我們用一個uiscrollview來實作引導頁,這裡我添加了4個頁面,是以是setcontentsize是320*4 = 1280的,可以根據引導頁的張數來改變長度,接下來就是4個imageview,然後一次添加進圖檔就行了。然後在最後一個頁面添加進按鈕,使用者點選按鈕後進入到程式的首頁面。

接下來的firstpress函數花了我好長時間才搞定,因為我的首頁面是之前通過ib拖拽控件的方式做好的,而不是手動編寫的,是以這裡需要生成在ib中首頁面的執行個體。:

首先打開ib,也就是storyboard,然後點選需要從引導頁進入的視圖控制器,選擇show the identity inspector項(option+command+3),然後在indentity裡面給storyboard id添加一個名字,我這裡寫的是firstpage

接下來回到引導頁

#import initviewcontroller.h  //把需要顯示的主界面h檔案包含進來,我這裡用到的是initviewcontroller

在你的點選按鈕後出發的函數裡面這樣寫:

uistoryboard *mainstoryboard  = [uistoryboard storyboardwithname:@"main" bundle:nil]; //注意這裡@“”裡面的文字是你的storyboard的名字,我的裡面是main.storyboard,是以名字就是main

initviewcontroller *initview = [mainstoryboard instantiateviewcontrollerwithidentifier:@"firstpage"];//這裡需要用到我們之間在ib中手動添加的名字firstpage了

這樣其實就獲得了在storyboard中的視圖控制器的名字了,最後一步就是顯示它了

[self presentviewcontrller:initview animated:yes completion:nil];

就3行代碼,這樣就可以在你點選了按鈕後顯示你想要的界面了。

接下來是讓程式在第一次運作的時候能跳轉到我們剛剛寫好的引導頁了,很簡單,修改appdelegate.m檔案

包含進我們的兩個頁面,一個是剛剛寫好的引導頁,另一個是程式的主界面。

注意這裡在else語句裡面也要用同樣的方法執行個體化一個主界面,原因是我們是在ib中完成的,如果是手動寫的代碼,就和上面的代碼一樣就可以了。

這樣,一個完成的引導頁的功能就實作了,很簡單吧。

繼續閱讀