相关疑难解决方法(0)

在iOS13中,状态栏背景色与大文本模式下的导航栏不同

问题演示

重现问题的前提条件:

  1. Xcode 11 Beta + iOS 13(最新版本至2019年6月12日)
  2. 导航栏处于大文本模式
  3. 指定导航栏的颜色。

在实际设备中,状态栏将在绿色导航栏上方保留为白色。

我尝试的解决方案:

  1. 将其还原回iOS12即可解决,但最终我们将遇到iOS13 ...
  2. 禁用大文本模式将解决此问题...
  3. 隐藏状态栏将解决此问题,但会导致状态文本与导航栏项重叠。

有任何想法吗?感谢您的帮助。

storyboard ios uistoryboard ios13

37
推荐指数
7
解决办法
2万
查看次数

xcode 11 beta中的新导航栏行为是错误还是故意的?

在Xcode 11 beta中编译了我的一个应用程序后,我注意到导航栏在prefersLargeTitles设置时没有背景。这是预期的行为吗?

我注意到这是向下滚动时消息应用程序现在的工作方式,可见一个大标题,没有导航栏背景。

这是用于设置navBar属性的代码:

 override func viewWillAppear(_ animated: Bool) {
    let textAttributes = [NSAttributedString.Key.foregroundColor:ThemeManager.shared.default1]
    self.navigationController?.navigationBar.largeTitleTextAttributes = textAttributes
    self.navigationController?.navigationBar.titleTextAttributes = textAttributes
    self.navigationController?.navigationBar.tintColor = ThemeManager.shared.default1
 self.navigationController?.setNavigationBarHidden(false, animated: true)
    self.navigationController?.navigationBar.prefersLargeTitles = true
    let nav = self.navigationItem
    nav.title = "My Profile"
}
Run Code Online (Sandbox Code Playgroud)

以下是一些显示差异的图像:

左,在Xcode 10上编译,右,在Xcode 11 beta上:

在此处输入图片说明 在此处输入图片说明

向上滚动至11 Beta版本后,背景会逐渐消失。请注意,未在Xcode 11 beta中编译的应用仍将以正常方式运行,仅在出于某些原因进行编译后才会更改。这是故意的,我将如何恢复原始行为?

navigationbar swift xcode11

8
推荐指数
2
解决办法
3893
查看次数

无法在 iOS 13 中更改大标题的导航栏色调颜色

代码:

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

        UINavigationBar.appearance().barTintColor = .red

        return true
    }
Run Code Online (Sandbox Code Playgroud)

如果 prefersLargetitles 为 false 则没有问题。但是使用prefersLargeTitles = true,颜色不会改变。这曾经适用于 iOS 12。但由于 iOS 13 这不起作用。任何人都可以帮助如何在 iOS 13 中自定义导航栏

uinavigationbar ios swift ios13

2
推荐指数
1
解决办法
306
查看次数