IOS开发(九):场景
一、多場景故事板
1、基礎(chǔ)
視圖控制器(ViewController):負責管理用戶與其IOS設(shè)備交互的類;
場景(Scene):視圖控制器和視圖的獨特組合;
切換(Segue):切換是場景的過渡,常使用視覺過渡效果;
模態(tài)視圖(Modal View):在需要進行用戶交互時,通過模態(tài)視圖顯示在另一個視圖上;
關(guān)系(Relationship):類似于切換,用于某些類型的視圖控制器,如選項卡欄控制器。關(guān)系是在主選項卡欄的按鈕之間創(chuàng)建的,當用戶觸摸這些按鈕時會顯示獨立的場景;
故事板(Storyboard):包含項目中場景、切換和關(guān)系定義的文件。
故事板提供了一個空間,讓用戶能夠以可視化方式描述應(yīng)用程序的設(shè)計和工作流程。每個場景都是一個用戶將遇到的屏幕。每個切換都是場景間過渡。
2、簡單示例
1)、創(chuàng)建一個新的項目,選擇Single View模式,只包含一個視圖控制器和視圖,也就是說只包含一個場景。
2)、在故事板中添加場景:在IB中打開storyBoard,在對象庫中選取View Controller,將其拖動到IB編輯器的空白區(qū)域,這樣就在故事板中成功地添加了一個視圖控制器和相應(yīng)的視圖,從而新增了一個場景。
3)、給場景命名
? ? 默認情況下,每個場景都會根據(jù)其視圖控制器類來命名,在項目中已經(jīng)有一個名為ViewController的類了,所以在文檔大綱中,默認場景名為ViewController Scene。而現(xiàn)在新增的場景還沒有為其指定視圖控制器類,所以該場景也名為ViewController Scene。如果繼續(xù)添加更多的場景,這些場景也都會被命名為ViewController Scene。
? ? 為了解決同名問題,有兩種辦法:
? ? 一是添加視圖控制器類,并將其指定給新場景;
? ? 二是根據(jù)自己的意思來給場景指定名稱,這樣往往更有意義。
選擇視圖控制器,打開屬性Identity Inspector并展開,然后在文本框Label中輸入場景名。Xcode將自動在后面添加Scene,因此我們無須添加Scene。
? ??
4)、添加提供支持的視圖控制器子類
? ? 在故事板中添加新場景后,需要將其與代碼關(guān)聯(lián)起來。在模板Single View Application中,已經(jīng)將初始視圖的視圖控制器配置成了類ViewController的一個實例,并且有它的ViewController.h和ViewController.m文件。
同樣,現(xiàn)在為了支持新的場景,需要在項目中添加UIViewController的子類。添加辦法是在項目導航器可見的情況下,點擊左下角的"+"按鈕,然后選擇"NewFile"選項。
? ??
最后將新添加的類加入項目,點擊Create按鈕,就好了。
這時候,新場景就像是一個新的應(yīng)用程序,和默認的場景是彼此獨立的,不能在該場景和原來的場景之間交換數(shù)據(jù),也不能在它們之間過渡。
5)、創(chuàng)建切換
? ? 最簡單的方式是,在第一個場景上添加一個按鈕,按住Control鍵,拖動到第二個場景,松開鼠標會彈出一個故事板切換框:
一般選擇modal(模態(tài))過渡,其它切換用于特殊情形,且僅在這些情形下才管用。
將切換加入到項目后,可以看到兩個場景之間有一條線將它們連接在一起:
現(xiàn)在運行項目,點擊默認場景的Button按鈕,會跳出第二個場景。
注:
從開始到現(xiàn)在,都沒有編寫任何代碼,就能在場景之間切換。但是這有它的局限性:
不能以編程方式與這樣的切換交互;
切換到目標視圖后,就不能返回到原來的視圖,為了返回到原來的視圖,需要編寫代碼。
轉(zhuǎn)載于:https://www.cnblogs.com/xsjayz/archive/2013/04/10/3012635.html
總結(jié)
以上是生活随笔為你收集整理的IOS开发(九):场景的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【IT笔试面试题整理】字符串的排列
- 下一篇: C#中的几种加密算法整理