gpt4 book ai didi

ios - 登录后如何在 swift 4 中使用主视图 Controller 设置侧菜单

转载 作者:行者123 更新时间:2023-11-30 11:29:27 26 4
gpt4 key购买 nike

请有人给我建议/指导。如何完成这个任务。我从我的应用程序登录,并在如何设置侧面菜单后登录。我添加了下面的代码。

这是Appdeligate代码

fileprivate func createMenuView() {
// create viewController code...
let storyboard = UIStoryboard(name: "Main", bundle: nil)

let mainViewController = storyboard.instantiateViewController(withIdentifier: "GSMngrMainViewController") as! GSMngrMainViewController
let leftViewController = storyboard.instantiateViewController(withIdentifier: "LeftViewController") as! LeftViewController

let nvc: UINavigationController = UINavigationController(rootViewController: mainViewController)

UINavigationBar.appearance().tintColor = UIColor.black
leftViewController.mainViewController = nvc

let slideMenuController = GSExSlideMenuController(mainViewController:nvc, leftMenuViewController: leftViewController)
slideMenuController.automaticallyAdjustsScrollViewInsets = true
slideMenuController.delegate = mainViewController
self.window?.backgroundColor = UIColor.white
self.window?.rootViewController = slideMenuController
//self.window?.rootViewController = loginViewController
self.window?.makeKeyAndVisible()
}

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
DropDown.startListeningToKeyboard()

let userId = UserDefaults.standard.string(forKey: "userId")
if userId == nil{
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let loginViewController = storyboard.instantiateViewController(withIdentifier: "GSLoginViewController")
let navigationCont = UINavigationController.init(rootViewController: loginViewController)
self.window?.rootViewController = navigationCont
}else{
self.createMenuView()
}

GMSServices.provideAPIKey(googleApiKey)
return true
}

最佳答案

在您想要有 SideMenu 的 ViewController 中添加此代码

     var customView = Side_Menu_ViewController()

func openSideMenu() {

let controller = storyboard!.instantiateViewControllerWithIdentifier("Side_Menu_ViewController") as! Side_Menu_ViewController
addChildViewController(controller)
controller.view.frame = view.frame
controller.view.backgroundColor = UIColor.blackColor().colorWithAlphaComponent(0.6)
view.addSubview(controller.view)
controller.didMoveToParentViewController(self)
}


func hideMenu() {

UIView.transitionWithView(self.view, duration: 0.5, options: UIViewAnimationOptions.OverrideInheritedOptions, animations: {
self.customView.view.frame = CGRectMake(self.customView.view.frame.origin.x + 300, 0,self.customView.view.frame.size.width+120,self.view.frame.height);

}, completion: { (finished: Bool) -> () in
})

}

使用两个 UIView,如下图所示 - 一个带有黑色背景,另一个带有您需要的东西,并在 SideMenuViewController 的 viewDidLoad 中添加以下代码

SideView.frame = CGRectMake(self.view.frame.width, 0,SideView.frame.size.width,self.view.frame.height)

UIView.transitionWithView(self.view, duration: 0.5, options: UIViewAnimationOptions.OverrideInheritedOptions, animations: {

self.SideView.frame = CGRectMake(self.SideView.frame.origin.x - 210, 0,self.SideView.frame.size.width-130,self.view.frame.size.height);

}, completion: { (finished: Bool) -> () in })

关于ios - 登录后如何在 swift 4 中使用主视图 Controller 设置侧菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50405605/

26 4 0