IOS學習筆記(12)Storyboards使用方法

來源:互聯網
上載者:User

Storyboards

Storyboards是一個定義了App中不同螢幕中建立聯絡的新方法。通過Storyboards你可以瀏覽、建立整個App的UI,可以在一個螢幕的不同視圖控制器之前建立聯絡。

一個螢幕的內容稱為一個情境。

用StoryBoards建立一個項目

在new project設定對話方塊中選擇使用StoryBoard。

在Storyboard上增加一個導航控制器

Storyboard檔案在IB中開啟,只需雙擊一個空順序圖表像版畫布上 的空間,內容就會縮小。

簡單的用過Storyboard,現在介紹一下使用方法:

開啟.storyboard檔案後,有一個白板視圖控制器,我們需要增加一個導航控制器,在物件程式庫中,我們找到NavigationController對象,將它拖到左側的畫布上,畫布上面增加了兩個視圖控制器,我們把箭頭指向的視圖控制器刪掉。選中剩下的NavigationController控制器,然後摁下control鍵,按住滑鼠左鍵,拉出一條直線直至viewController控制器上(建立內建的白板控制器),放開滑鼠左鍵和control鍵後會彈出一個提示框,點擊rootViewController。這隻是第一步。這樣完成之後你運行程式螢幕出現的還是一個空白的畫面。

重要的一部是,畫布的左側有一個View Controller Scene介面,選中Navigation Controller 後,點擊view菜單,選擇view->show Attributes Inspector(顯示內容檢查器)[也就是Xcode右上方一排六個圖表中的左數第四個]。將initial Scene後面的單選框選中。

好了,現在可以運行程式了。

增加一個按鈕,點擊按鈕後,將一個視圖控制器推出堆棧。

在物件程式庫中找到View Controller對象,將它拖到畫布上,然後選擇一個按鈕,放入第一個視圖控制器裡(如果視圖控制器處於縮小狀態將不能增加按鈕,放大之後即可),按鈕選中狀態下,按住鍵盤上的control和滑鼠左鍵,一直拖到第二個視圖控制器上,鬆開滑鼠左鍵和control鍵後,選擇push。運行一下效果就出來了。

將資料從一個螢幕傳輸到另一個螢幕

使用Segue對象。(segue [segwei]繼續)

當發生不同情境之間轉換時,Storyboard的運行庫會為這個轉換建立一個segue對象。segue就是類UIStoryboardSegue的一個執行個體。當轉換髮生時,當前視圖控制器(在segue後退出螢幕)將會收到prepareForSegue:sender:的訊息,此處的prepareForSegue參數會變成UIStoryboardSegue類的一個對象,如果需要傳輸資料,需要使用prepareForSegue:sender:的方法。

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{

    NSLog(@"Source controller = %@",[segue sourceViewController]);

    NSLog(@"Destination controller = %@",[segue destinationViewController]);

    NSLog(@"Segue Identifier = %@",[segue identifier]);

}

在一個已有項目中添加Storyboard

從file菜單,選擇new->new file  ->Resource ->Storyboard 選項,然後Next。

選擇合適的裝置序列(iPhone,iPad) 完成之後next。

選擇儲存地方。

在你的項目結構中,找出Info.plist檔案,如果你有這些鍵,把他們從.plist檔案中刪除:

    *NSMainNibFile(將會以Main nib檔案及名稱出現)。

    *NSMainNibFile~ipad(將會以Main nib檔案及名稱出現(ipad))。

如果你只有適用於iphone或者ipad的App,為iPhone建立一個稱作UIMainStoryboardFile的鍵或者為ipad建立一個稱作UIMainStoryboardFile~ipad的健,如果你有一個通用的APP,就建立2個健。然後儲存.plist檔案。

最後一布,把application:didFinishLaunchingWithOptions:方法從APP委託的執行中刪除。依據你的APP是如何建立的,這個方法可以建立不同的視圖控制器和視窗等等,有了Storyboard後,你就不再需要它了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.