SWRevealViewController 推送到实际的导航控制器
SWRevealViewController push to actual navigation controller
我正在使用 SWRevealViewController,我想将视图控制器从我的菜单视图控制器推送到实际的导航视图控制器。问题是,当我使用 self.revealViewController().frontViewController.navigationController!
时,这个导航控制器总是 nil 并且不应该是,因为我总是 pushFrontViewController 和导航控制器。
任何一点如何推动实际的导航控制器?我正在使用故事板。
这是您的解决方案
使用 Swrevealviewcontroller“setFrontViewPosition”ViewController 从菜单到正常 ViewController
在Swift
let obj = self.storyboard?.instantiateViewControllerWithIdentifier("ViewController") as! ViewController
let navController = UINavigationController(rootViewController: obj)
navController.setViewControllers([obj], animated:true)
self.revealViewController().setFrontViewController(navController, animated: true)
self.revealViewController().setFrontViewPosition(FrontViewPosition.Left, animated: true)
在 Objective-c 中
-(void)main{
LoginViewController *tar = [self.storyboard instantiateViewControllerWithIdentifier:@"LoginViewController"];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:tar];
[navController setViewControllers: @[tar] animated: YES];
[self.revealViewController setFrontViewController:navController];
[self.revealViewController setFrontViewPosition: FrontViewPositionLeft animated: YES];
}
我猜你正在尝试调用 UINavigationcontroller 的 UINavigationcontroller
revealViewController().frontViewController 已经给我 UINavigationcontroller
我在侧边菜单控制器中有这个并且它正在工作
override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool {
var controller: UIViewController?
var navController: UINavigationController?
if identifier.hasSuffix("Orders") {
controller = self.storyboard?.instantiateViewController(withIdentifier: "ShowOrdersViewController") as! ShowOrdersViewController
(controller as! ShowOrdersViewController).orderType = identifier
navController = revealViewController().frontViewController as! UINavigationController
}
self.revealViewController().revealToggle(animated: true)
navController?.pushViewController(controller!, animated: true)
return false
}
我正在使用 SWRevealViewController,我想将视图控制器从我的菜单视图控制器推送到实际的导航视图控制器。问题是,当我使用 self.revealViewController().frontViewController.navigationController!
时,这个导航控制器总是 nil 并且不应该是,因为我总是 pushFrontViewController 和导航控制器。
任何一点如何推动实际的导航控制器?我正在使用故事板。
这是您的解决方案
使用 Swrevealviewcontroller“setFrontViewPosition”ViewController 从菜单到正常 ViewController
在Swift
let obj = self.storyboard?.instantiateViewControllerWithIdentifier("ViewController") as! ViewController
let navController = UINavigationController(rootViewController: obj)
navController.setViewControllers([obj], animated:true)
self.revealViewController().setFrontViewController(navController, animated: true)
self.revealViewController().setFrontViewPosition(FrontViewPosition.Left, animated: true)
在 Objective-c 中
-(void)main{
LoginViewController *tar = [self.storyboard instantiateViewControllerWithIdentifier:@"LoginViewController"];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:tar];
[navController setViewControllers: @[tar] animated: YES];
[self.revealViewController setFrontViewController:navController];
[self.revealViewController setFrontViewPosition: FrontViewPositionLeft animated: YES];
}
我猜你正在尝试调用 UINavigationcontroller 的 UINavigationcontroller
revealViewController().frontViewController 已经给我 UINavigationcontroller
我在侧边菜单控制器中有这个并且它正在工作
override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool {
var controller: UIViewController?
var navController: UINavigationController?
if identifier.hasSuffix("Orders") {
controller = self.storyboard?.instantiateViewController(withIdentifier: "ShowOrdersViewController") as! ShowOrdersViewController
(controller as! ShowOrdersViewController).orderType = identifier
navController = revealViewController().frontViewController as! UINavigationController
}
self.revealViewController().revealToggle(animated: true)
navController?.pushViewController(controller!, animated: true)
return false
}