gpt4 book ai didi

iOS Swift SlideMenuControllerSwift

转载 作者:搜寻专家 更新时间:2023-11-01 07:24:00 25 4
gpt4 key购买 nike

我正在学习开发 iOS 并遇到这个很棒的库 SlideMenuController .我能够利用这个库轻松地创建很棒的幻灯片菜单。

但是,在使用这个库的过程中我遇到了一些问题。

环境

在我的项目 Storyboard 中,我有 1 个 TabBarViewController 和 2 个位于此 TabBarViewController 下的 ViewController。我还有 2 个独立的 ViewController,分别是 LoginViewController 和 LeftMenuViewController。

我的 AppDelegate.swift 文件中有以下代码

    ...
var window: UIWindow?

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

let storyboard = UIStoryboard(name: "Main", bundle: nil)

let mainViewController = storyboard.instantiateViewControllerWithIdentifier("TabBarViewController") as! TabBarViewController
let leftViewController = storyboard.instantiateViewControllerWithIdentifier("LeftMenuViewController") as! LeftMenuViewController


let slideMenuController = SlideMenuController(mainViewController: mainViewController, leftMenuViewController: leftViewController)

SlideMenuOptions.contentViewScale = 1
SlideMenuOptions.hideStatusBar = false;

self.window?.rootViewController = slideMenuController
self.window?.makeKeyAndVisible()

return true
}
...

如果我不需要我的登录 View 作为初始 View ,一切都可以完美运行。我注意到这行代码 self.window?.rootViewController = slideMenuController 将始终确保 mainViewController 中的 View 是应用程序打开时的初始 View 。

当我的应用程序启动并且滑动菜单仍然绑定(bind)到 TabBarViewController 并正常工作时,如何将我的 LoginView 作为初始 View ?

我尝试将代码从 AppDelegate.swift 移动到 TabBarViewController.swift 中的 viewDidLoad() 函数,但没有成功。它不起作用。

在这方面需要一些公会和帮助。谢谢。

最佳答案

您可以使用此代码代替您的代码:

变种窗口:UIWindow?

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

let storyboard = UIStoryboard(name: "Main", bundle: nil)

let mainViewController = storyboard.instantiateViewControllerWithIdentifier("TabBarViewController") as! TabBarViewController
let leftViewController = storyboard.instantiateViewControllerWithIdentifier("LeftMenuViewController") as! LeftMenuViewController
let loginViewController = storyboard.instantiateViewControllerWithIdentifier("LoginViewController") as! LoginViewController

let nvc: UINavigationController = UINavigationController(rootViewController: loginViewController)
leftViewController.mainVC = nvc
let slideMenuController = SlideMenuController(mainViewController: nvc, leftMenuViewController: leftViewController)

SlideMenuOptions.contentViewScale = 1
SlideMenuOptions.hideStatusBar = false;

self.window?.rootViewController = slideMenuController
self.window?.makeKeyAndVisible()

return true
}

不要忘记在 LeftMenuViewController 中添加这个变量

var mainVC : UIViewController!

关于iOS Swift SlideMenuControllerSwift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37145786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com