Swift纯代码开发添加导航栏标题的问题求助
解决纯代码开发中导航栏标题不显示的问题
你的核心问题是当前ViewController没有被嵌入到UINavigationController中,导航栏本身都没被创建,自然看不到标题。按以下步骤修改即可:
1. 将ViewController嵌入导航控制器
根据你的iOS版本,修改应用入口文件:
针对iOS 13+(使用SceneDelegate)
打开SceneDelegate.swift,替换scene(_:willConnectTo:options:)方法:
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { guard let windowScene = (scene as? UIWindowScene) else { return } let window = UIWindow(windowScene: windowScene) // 把ViewController包装成导航控制器的根页面 let rootVC = ViewController() let navController = UINavigationController(rootViewController: rootVC) window.rootViewController = navController self.window = window window.makeKeyAndVisible() }
针对iOS 12及以下(使用AppDelegate)
打开AppDelegate.swift,替换application(_:didFinishLaunchingWithOptions:)方法:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) // 把ViewController包装成导航控制器的根页面 let rootVC = ViewController() let navController = UINavigationController(rootViewController: rootVC) window?.rootViewController = navController window?.makeKeyAndVisible() return true }
2. 设置导航栏标题
在你的ViewController的viewDidLoad方法中添加标题设置:
override func viewDidLoad() { super.viewDidLoad() // 添加这行设置导航栏标题 title = "随机图片" // 原有的代码保持不变 view.backgroundColor = .systemRed view.addSubview(imageView) imageView.frame = CGRect( x: 0, y:0, width: 300, height: 300 ) imageView.center = view.center view.addSubview(button) getRandomPhoto() button.addTarget(self, action: #selector(didTapButton), for: UIControl.Event.touchUpInside) }
3. 确认Info.plist配置
确保你的Info.plist中已经移除了Main storyboard file base name这个键值对,或者将其值设为空,避免系统尝试加载已删除的Storyboard。
可选:自定义导航栏样式
如果需要调整导航栏外观,可以在ViewController的viewDidLoad中添加:
// 设置导航栏背景色 navigationController?.navigationBar.backgroundColor = .systemBlue // 设置标题文字颜色 navigationController?.navigationBar.titleTextAttributes = [.foregroundColor: UIColor.white]
内容的提问来源于stack exchange,提问作者akimPeaceYo
相关产品推荐
相关产品推荐

