2015-12-03 3 views
1

В настоящее время у меня есть следующие раскадровку:Выполните разматывания SEGUE программно

UITableViewController ->Segue ->UINavigationController ->Relationship ->UITableViewController

В последнем UITableViewController я добавил кнопку назад на код ниже:

navigationItem.setLeftBarButtonItem(UIBarButtonItem(title: "Back", style: UIBarButtonItemStyle.Plain, target: self, action: "unwind"), animated: true) 

let attributes = [NSFontAttributeName: UIFont.fontAwesomeOfSize(30), NSForegroundColorAttributeName: Constants.InterfaceColors.firstHighlightColor] as Dictionary! 
let unwindNavigationItem = navigationItem.leftBarButtonItem! as UIBarButtonItem 

unwindNavigationItem.setTitleTextAttributes(attributes, forState: .Normal) 
unwindNavigationItem.title = String.fontAwesomeIconWithName(FontAwesome.AngleLeft) 

Насколько я понимаю, мне нужно подключить владельца файла к выходу в раскадровке. Я узнал, что это возможно только в том случае, если у вас есть действие в коде контроллера, как показано ниже.

@IBAction func unwindToWeekOverview(segue: UIStoryboardSegue) { 
     NSLog("unwind to week overview") 
     dismissViewControllerAnimated(true, completion: nil) 
    } 

Поскольку я сейчас не как напрямую подключить действие кнопки к моему размотки действий я добавил функцию unwind.

func unwind() { 
     performSegueWithIdentifier("UnwindToWeekOverview", sender: self) 
    } 

Когда я теперь нажать на кнопку назад, разматывает функция вызывается, но не переходить. Что мне не хватает?

ответ

1

Посмотрите на эту ссылку. Это автор MIKE WOELMER, и он объясняет это очень четко.

https://spin.atomicobject.com/2014/10/25/ios-unwind-segues/

Итак, прежде всего, необходимо создать IBAction в контроллере представления назначения, что-то вроде этого:

@IBAction func goBack(segue: UIStoryboardSegue) { 

    print("go back") 

Тогда вам просто нужно подключить (контроль сопротивления) от вашей кнопки Выход из розетки. Во всплывающем окне вы увидите ранее добавленную функцию, просто выберите ее и она должна работать.

 Смежные вопросы

  • Нет связанных вопросов^_^