簡體   English   中英

沒有prepareForSegue的Swift ViewController

[英]Swift ViewController without prepareForSegue

在我的項目中,我有一個主控制器(通過具有三個筆尖的segue可以訪問它。 這些筆尖不在主故事板上,它們僅顯示在主視圖上,並且我可以在其中掃過以查看它們。

如何從這些筆尖中的任何一個發送到發送它們的ViewController?

為了清晰

  • ViewController1
    • 選擇到ViewController2
      • 顯示幻燈片筆尖(ViewController3)。

我想從ViewController3轉到ViewController1,但它們不在情節提要上,因此我無法單擊並拖動並進行設置。

我希望這是有道理的。

編輯:IBAction

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let secondVC = storyboard.instantiateViewControllerWithIdentifier("ViewController1StoryBoardID") as! ViewController1
presentViewController(secondVC, animated: true, completion: nil)

ViewController2具有:

let vc3 = ViewController3(nibName: "ViewController3", bundle: nil) 
var frame3 = self.vc3.view.frame
frame3.origin.x = self.view.frame.size.width * 2
self.vc3.view.frame = frame3
self.addChildViewController(self.vc3)
self.scrollView.addSubview(self.vc3.view)
self.vc3.didMoveToParentViewController(self)

用一些額外的行來添加其他框架並向其中滑動

您可以通過情節提要實例化Viewcontroller,

//instanciate storyboard    
let mainStoryBoard = UIStoryboard(name:"StoryboardName", bundle:nil)

let myViewcontroller = mainStoryBoard.instanciateViewControllerWithIdentifier("viewcontrolleridentifier") as? ViewController1

您可以在“界面”構建器中設置標識符

let viewController = YourViewController(nibName: "YourViewController", bundle: NSBundle.mainBundle())
self.navigationController?.pushViewController(viewController, animated: true)

iOS的Navigation View Controller中有一個概念,可以幫助您以“專業的方式”進行操作。 您將“堆疊”視圖,並可以返回到其中任何一個視圖,將其隱藏為白色,然后將其彈出。

其他方法是通過視圖的標識符移動,而情節提要中沒有明確的選擇,請查看此鏈接以獲取更多詳細信息

您這樣做:

let storyboard = UIStoryboard(name: "StoryboardName", bundle: nil)
let secondVC = storyboard.instantiateViewControllerWithIdentifier("anIdentifier") as! UIViewController
presentViewController(secondVC, animated: true, completion: nil)
  • “ StoryboardName”是故事板的名稱
  • “ anIdentifier”是您在故事板上設置的UIViewController的標識符

請檢查在哪里設置ViewController的情節提要ID的圖像:

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM