2014年3月5日 星期三

在Visual Studio中透過Xamarin建立iOS多層頁面程式(下)

 

在前一篇"在Visual Studio中透過Xamarin建立iOS多層頁面程式(上)"當中,我們順利的完成主頁面切換到下一個頁面了,但是只能NavigationBar的左邊按鈕出現,並且回到上個畫面的動作而已。

而若我們想要在NavigationBar上加上右邊按鈕(RightNavigationBarItem),並且再透過這個按鈕來做第三個頁面的變化效果,就像是如下圖們所展現出來的方式...

 

iOS_1iOS_3iOS_2iOS_4

那該如何處理呢?

 

噹噹~~

當然就緊接著繼續打開在之前建立的"SecondViewController.cs",來做以下的程式碼編輯啦~~

 

image

(紅色框為新增程式碼)

 

其中UIBarButtonItem的事件註冊處理部分當然也可以寫成C#的Lambda Expression的方式,就看看倌們的喜好了~~

 

而在rightBarButtonItem_Click()事件處理常式當中我們繼續撰寫跟之前"在Visual Studio中透過Xamarin建立iOS多層頁面程式(上)"當中所提到,透過NavigationController.PushViewController()來處理頁面轉跳的程式碼:

 

image

(紅色框為新增程式碼)

 

但因為我們是要再出現另外一個畫面"EditViewController",所以就是利用PushViewController來將EditViewController來給加入到NavigationController當中了。

完成之後再次點選"開始(F5)",看看執行的結果吧~~

 

iOS_1iOS_3iOS_5

 

因此就完成了我們在第二個頁面當中,透過RightNavigationBarItem的點選,再轉跳到另外一個畫面的需求了。

 

耶?不對阿~~~完成的效果不太一樣啊!!!

在第三個頁面的標題那邊沒有顯示任何文字耶!!!

 

看倌們,要懂得舉一反三阿!!!

 

第三個頁面的導覽列那邊沒有顯示標題文字的原因,是因為我們還沒有在"EditViewController.cs”這個檔案當中變更過任何程式碼啊!!!

沒關係,我們就趕緊打開"EditViewController.cs”,找到ViewDidLoad()這個方法的部分,來新增以下的程式碼:

 

image

(紅色框為新增程式碼)

 

完成後,再次按下"開始(F5)",看看執行的結果,這次導覽列那邊就有出現顯示標題文字了吧~~~

iOS_4

打完...收工~~~

 

呃...還沒有啦!!!

怎麼可能就這樣收工呢?!這樣就收工應該會被吊起來打吧...XD

 

接著我們來看看若是要完成像是底下的畫面切換時(下一個畫面是從下方彈出的方式),是該怎麼做吧~~

 

iOS_5IOS_6iOS_7iOS_8

 

先回到"SecondViewController.cs"找到之前所撰寫的rightBarButtonItem_Click()事件處理常式,變更原本撰寫的程式碼,如下圖所示:

 

image

(注意原本所撰寫的第47行程式碼已註解。紅色框為新增程式碼。)

 

完成之後點選"開始(F5)",看看執行的結果吧~~

iOS_9

 

出現的頁面空空如也阿!!!

連上面的NavigationBar都不見了!!!是要怎樣回上一層的畫面啊!!!

 

看倌別緊張,這是因為PushViewController()跟PresentViewController()這兩個方法的執行,在切換畫面的本質設計上是用在不同的使用情境上的,所以在這邊根本不會出現原本的NavigationBar的。

接著讓我們繼續來完成吧~~

 

切換到"EditViewController.cs",同樣找到ViewDidLoad(),修改原本撰寫的程式碼,如下圖所示:

 

image

(注意原本所撰寫的第35行程式碼已註解。紅色框為新增程式碼。)

 

完成之後再次點選"開始(F5)",看看執行的結果,出現導覽列了吧~~

iOS_10

 

說實在的,就是在這個ViewController上自己再加入NavigationBar來使用,而並非去使用原本App的RootNavigationController(也沒辦法...)

 

可是NavigationBar好空喔!!!

所以我們就繼續加入NavigationBarItem的相關程式碼吧~~

image

(紅色框為新增程式碼)

 

完成之後再次點選"開始(F5)",看看執行的結果,出現導覽列的相關Item了~~

iOS_11

 

恭喜老爺,賀喜夫人...完工了耶!!!

看倌們...心動嗎?!

趕緊動手試試看吧~~~

沒有留言:

張貼留言