我想创建一个应用程序,我的导航栏出现在所有页面上。当我点击侧面菜单的任何一行(通过SWRevealViewController
完成)时,我希望打开的页面顶部有一个导航栏。在下图中,我想要与具有“菜单”标签的页面上的HomeViewController相同的导航栏。我怎样才能做到这一点?请帮忙。我是iOS新手。我在Xcode 8和Swift 3中这样做。
编辑:我想要这样的事情:我已将侧面菜单按钮放在显示视图控制器上。我可以在运行时在前视图控制器上看到它,但是如何连接目标和revealviewcontroller的动作,以便侧面菜单打开?如果这样做,那么“菜单”标签页面上的导航控制器问题将自动解决
答案 0 :(得分:1)
假设菜单的出口是btn_Menu。在控制器的视图中加载我以编程方式设置了条形按钮的动作和目标。
btn_Menu.target = self.revealViewController()
btn_Menu.action = #selector(SWRevealViewController.revealToggle(_:))
查看您需要的此图像结构。抱歉不太清楚但也许可以解决您的问题:
答案 1 :(得分:0)
您需要在自己ViewControllers
中添加NavigationController
的所有起点,因此在这种情况下,您需要嵌入ViewController
,其中包含菜单标签{ {1}}并将侧边菜单设为NavigationController
而不是NavigationController
希望我的回答可以帮助你
答案 2 :(得分:0)
您还需要为sabe bar Controller添加/**
* Does some magic.
*
* @HTTP 201 Successful Request.
*/
@PostMapping(value = "/{id}", params = "action=doMagic")
@RolesAllowed("ADMIN")
public User restoreUser(@PathVariable Long id) {
User user = userService.restore(id);
return ResponseEntity.ok(project);
}
请按照以下步骤操作:
选择侧栏Navigation Controller
答案 3 :(得分:0)
1)创建一个名为“BaseViewController”的新ViewController类
2)在BaseViewController viewDidLoad中添加以下代码并更改图像名称和目标,同时为菜单添加左键
let btn1 = UIButton(type: .custom)
btn1.setImage(UIImage(named: "imagename"), for: .normal)
btn1.frame = CGRect(x: 0, y: 0, width: 30, height: 30)
btn1.addTarget(self, action: #selector(Class.Methodname), for: .touchUpInside)
let item1 = UIBarButtonItem(customView: btn1)
let btn2 = UIButton(type: .custom)
btn2.setImage(UIImage(named: "imagename"), for: .normal)
btn2.frame = CGRect(x: 0, y: 0, width: 30, height: 30)
btn2.addTarget(self, action: #selector(Class.MethodName), for: .touchUpInside)
let item2 = UIBarButtonItem(customView: btn2)
self.navigationItem.setRightBarButtonItems([item1,item2], animated: true)
3)使您将从侧边菜单中显示的viewControllers(如带有菜单标签的viewControllers)继承自BaseViewController,并在其viewDidLoad中调用super.viewDidLoad()
4)嵌入你将在navigationController
的侧边菜单中显示的viewControllers答案 4 :(得分:0)