我怎样才能解除一个模式segue,然后执行push segue到新的视图控制器
我试图从navigation controller
执行一个push segue
,解散之前在navigation controller
上显示的modal
。
内部模态( UIViewController
):
func textFieldShouldReturn(textField: UITextField) -> Bool { var searchNav = SearchNavigationController() self.dismissViewControllerAnimated(true, completion: {searchNav.goToNextView()}) return true }
在SearchNavigationController
里面:
func goToNextView() { performSegueWithIdentifier("searchNavigationToNextView", sender: self) }
问题是,当我打回来,我得到这个错误:
终止应用程序由于未捕获的exception“NSInvalidArgumentException”,原因:“Receiver()没有与标识符searchNavigationToNextView”
segue出现在我的storyboard
,从UINavigationController
转到next view
。
编辑:试过这个,在_SendSelectViewController中声明_sender var _sender = self并没有工作。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { if segue.identifier == "searchNavigationToSingleSearch" { let singleVC = segue.destinationViewController as! SingleSearchViewController singleVC._sender = self } }
更新你的代码,
func textFieldShouldReturn(textField: UITextField) -> Bool { var searchNav = SearchNavigationController() self.dismissViewControllerAnimated(true, completion: {self.presentingViewController.goToNextView()}) return true }
我有同样的问题,mattgabor了,我试过阿希什的解决scheme,但它并没有为我工作。
我在代码中的问题是在“dismissViewControllerAnimated()”的完成块内部,propery“self.presentingViewController”已经是零了,当我想从我以前执行推的viewController的方法(方法“goToNextView ()“在这个例子中)
所以我的解决scheme只是在调用“dismissViewControllerAnimated()”之前创build一个variables来保存以前的viewController。 使用当前的例子,它看起来像这样:
func textFieldShouldReturn(textField: UITextField) -> Bool { if let searchNav = self.presentingViewController as? SearchNavigationController { self.dismissViewControllerAnimated(true) { searchNav.goToNextView() } } return true }
- 组表TableView,使用自调整节标题,重新加载后,如果向上滚动,tableview将跳转
- UILabel切断自定义字体。 如何根据select的自定义字体dynamic调整UILabel高度?
- 来自iOS的PayPal错误580001 HTTP请求
- 在iOS 5中使用Storyboard时,无法将多个button分配给UINavigationItem
- CocaPods导入AFNetworking但不导入OHAttributedLabel
- 如何重新加载我的UIViewController点击一些button?
- 检测NSUserDefaults上的更改
- 在检索比特率时,无法使用HLS获取AVAsset的音轨
- “找不到NSObject的接口声明”?