Segue

  • 每一個Segue對象,都有3個屬性
唯一標識
@property (nonatomic, readonly) NSString *identifier;
來源控制器
@property (nonatomic, readonly) id sourceViewController;
目標控制器
@property (nonatomic, readonly) id destinationViewController;
  • 根據Segue的執行(跳轉)時刻,Segue可以分為2大類型

  • 自動型:點擊某個控件后(比如按鈕),自動執行Segue,自動完成界面跳轉

  • 手動型:需要通過寫代碼手動執行Segue,才能完成界面跳轉

  • 自動型Segue

  • 在storyboard中按住Control鍵,直接從控件拖線到目標控制器

  • 當控件的事件觸發后,就會自動跳轉到右邊的控制器

  • 如果點擊某個控件后,不需要做任何判斷,一定要跳轉到下一個界面,建議使用“自動型Segue”

  • 手動型Segue

  • 按住Control鍵,從來源控制器拖線到目標控制器

  • 手動型的Segue需要設置一個標識

  • 在恰當的時刻,使用perform方法執行對應的Segue

//Segue必須由來源控制器來執行,也就是說,這個perform方法必須由來源控制器來調用
[self performSegueWithIdentifier:@"login2contacts" sender:nil];
  • 如果點擊某個控件后,需要做一些判斷,也就是說:滿足一定條件后才跳轉到下一個界面,建議使用“手動型Segue”

  • performSegueWithIdentifier:sender:

  • 根據identifier去storyboard中找到對應的線,新建UIStoryboardSegue對象

  • 設置Segue對象的sourceViewController(來源控制器)

  • 新建并且設置Segue對象的destinationViewController(目標控制器)

  • 調用sourceViewController的下面方法,做一些跳轉前的準備工作并且傳入創建好的Segue對象

   - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender;
// 這個sender是當初performSegueWithIdentifier:sender:中傳入的sender
  • 調用Segue對象的- (void)perform;方法開始執行界面跳轉操作
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容