日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Storyboard中segue使用总结

發布時間:2023/12/19 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Storyboard中segue使用总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介 ? ?
????場景轉換在應用中是非常常見的,讓用戶在一個視圖控制器內操作,能夠實例化并顯示另一個視圖控制器,需要創建一個在兩者之間相連的segue(轉 場)。比如導航控制器里面,某個場景中的操作可以觸發轉場去加載并顯示另一個場景,轉場可以將下一個控制器自動推入導航棧。

說明
? ?

?? ?Xcode6之前Storyboard里面的幾種segue區別及視圖切換:push、modal、popover、replace和custom可參考:http://www.2cto.com/kf/201210/161737.html
????
Xcode6中segue取消原push和modal(deprecated),可以查看官方文檔說明:https://developer.apple.com/library/ios/recipes/xcode_help-IB_storyboard/chapters/StoryboardSegue.html
? ? 新增方法show和present Modally一般可以滿足我們的使用需求? ??

????Show

????根據當前屏幕中的內容,在master area或者detail area中展示內容。

????例如:如果app當前同時顯示master和detail視圖,內容將會壓入detail區域。

????如果app當前僅顯示master或者detail視圖,內容則壓入當前視圖控制器堆棧中的頂層視圖。


????Show Detail

????在detail area中展現內容。

????例如:即使app同時顯示master和detail視圖,那么內容將被壓入detail區域

????如果app當前僅顯示Master或者detail視圖,那么內容將替換當前視圖控制器堆棧中的頂層視圖。


? ? Present Modally

????使用模態展示內容。屬性面板中提供presentation style (UIModalPresentationStyle)與 transition style (UIModalTransitionStyle)兩種選項


????Present as Popover

在某個現有視圖中的錨點處使用彈出框展示內容。這個選項可指定顯示在彈出框視圖一邊上的箭頭可用方向,同時也是指定錨點視圖的一個選項。

??(翻譯來自網友)


Storyboard創建segue
? ?
按住鼠標右鍵,將鼠標指針從一個單元樣本拖到新場景上,鼠標懸 停時將看到整個場景會高亮顯示,表示可以連接了。釋放鼠標右鍵并選擇彈出的浮動菜單中Selection Segue位置的show選項。創建segue意味著,只要用戶輕點單元樣本,另一端相連的視圖控制器便會分配內存空間并準備切換。

動態執行segue

?????在Storyboard中建立的segue,是直接跳轉的,不方便添加額外的條件判斷,如果要做登陸之類的功能,必須動態執行segue操作
? ??
首先在Storyboard中建立segue,不從按鈕等控件建立,而是從ViewController建立,必須指定Identifier,建立完畢后,跳轉執行????

????[self performSegueWithIdentifier:@"segueXXX" sender:self];

? ? 利用Identifier指定要執行的segue

利用segue傳遞數據
? ? 比如想把數據NSString *aData從AController傳到BController,則在BController中創建一個NSString recvData的property,然后在AController添加方法

?

  • - (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
  • ????UIViewController *destination = segue.destinationViewController;
  • ????if ([destination respondsToSelector:@selector(setdata:)]) {
  • ????????[destination setValue:aData?forKey:@"recvData"];
  • ????}
  • ????
  • }
  • ? ? 在BController的viewDidLoad方法中,可直接查看_recvData值。

    轉載于:https://www.cnblogs.com/quwujin/p/4802000.html

    總結

    以上是生活随笔為你收集整理的Storyboard中segue使用总结的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。