我试图在另一个故事板中执行到另一个UIViewController的转换,但问题是我要显示的视图会弹出我所在的视图后面。 我知道,因为我的应用程序在视图之间包含类似Snapchat的导航,所以我可以将视图向左或向右拖动,我可以看到背后的视图。
以下是我尝试这样做的方法:
class Hello; end
a = Hello.new
class Hello; def world; puts "Hi" end end
b = Hello.new
a.world # "Hi"
b.world # "Hi"
@IBAction func account(sender: UIButton) {
if self._isOnline {
self.pageController?.reverseViewControllerAnimated(true)
}
else {
let alertView = UIAlertController(title: "blablablabla", message: "blablablabla", preferredStyle: .Alert)
alertView.addAction(UIAlertAction(title: "No", style: .Cancel, handler: nil))
alertView.addAction(UIAlertAction(title: "Yes", style: .Default, handler: { (alertAction) -> Void in
let storyboard = UIStoryboard(name: "SignUpLogin", bundle: NSBundle.mainBundle())
let vc = storyboard.instantiateInitialViewController() as! UIViewController
self.presentViewController(vc, animated: false, completion: nil)
}))
presentViewController(alertView, animated: true, completion: nil)
}
}
是我的第二个.storyboard文件的名称,我在SignUpLogin
中。
该操作发生在Heart.storyboard
,如果用户按否,则无任何附加,如果他按是,则应将其重定向到我的UIAlertController
文件的初始视图。
我的问题来自左下角的视图。如果我在右上角的视图中使用上面的代码,那就有效!为什么?
我不知道我怎么能做不同的事情。
答案 0 :(得分:0)
我找到了解决问题的方法!
@IBAction func account(sender: UIButton) {
if self._isOnline {
self.pageController?.reverseViewControllerAnimated(true)
}
else {
let alertView = UIAlertController(title: Constants.LocalizedJoinOurBand, message: Constants.LocalizedNeedToCreatAnAccount, preferredStyle: .Alert)
alertView.addAction(UIAlertAction(title: Constants.LocalizedNo, style: .Cancel, handler: nil))
alertView.addAction(UIAlertAction(title: Constants.LocalizedYes, style: .Default, handler: { (alertAction) -> Void in
if let appDelegate = UIApplication.sharedApplication().delegate as? AppDelegate {
let storyboard = UIStoryboard(name: "SignUpLogin", bundle: NSBundle.mainBundle())
let vc = storyboard.instantiateInitialViewController() as! UIViewController
UIApplication.sharedApplication().keyWindow?.rootViewController = vc
}
}))
presentViewController(alertView, animated: true, completion: nil)
}
}
我不知道为什么在这种情况下特别但我必须用这一行直接设置AppDelegate的rootViewController
:
UIApplication.sharedApplication().keyWindow?.rootViewController = vc