不使用app创建时自带的main.storyboard创建导航栏,而采用swift代码控制导航栏实践demo
Demo环境:
IOS 15,Xcode 13, swift, vue打包后的dist文件
步骤:
一,修改AppDelegate.swift文件
AppDelegate.swift代码
import UIKit
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
self.window = UIWindow(frame: UIScreen.main.bounds)
let navigationController = UINavigationController(rootViewController: ViewController())
self.window!.rootViewController = navigationController
self.window!.makeKeyAndVisible()
return true
}
// // MARK: UISceneSession Lifecycle
//
// func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
// // Called when a new scene session is being created.
// // Use this method to select a configuration to create the new scene with.
// return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role)
// }
//
// func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set<UISceneSession>) {
// // Called when the user discards a scene session.
// // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions.
// // Use this method to release any resources that were specific to the discarded scenes, as they will not return.
// }
}
二,删除plist文件中对应的键值
删除下图所示的两个键值
三,在ViewController中测试
import UIKit
class ViewController: UIViewController {
var fullSize = UIScreen.main.bounds.size
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let textView = UITextView(frame: CGRect(x: 0, y: 0, width: fullSize.width, height: fullSize.height))
textView.text = "test demo"
self.view.addSubview(textView)
let menuButtonBar = UIBarButtonItem(title: "🎾", style: .plain, target: self, action: #selector(triggerMenu))
self.navigationItem.leftBarButtonItem = menuButtonBar
}
@objc func triggerMenu() {
print("click the menu")
}
}
效果图: