UIImagePickerController导航栏渲染颜色在iOS 13上无效

5

我正在展示一个模态控制器,它是一个UIImagePickerController。

我正在尝试更改UIImagePickerController导航栏的色调颜色。

在iOS13之前,这个操作是有效的;

imagePickerController.navigationBar.tintColor = .red

我也尝试过;

imagePickerController.navigationController?.navigationBar.tintColor = .red

但仍然没有成功。

我下一步可以尝试什么?


3
我遇到了同样的问题。我还没有尝试过,但一个解决方法是在创建图片选择器之前使用 UINavigationBar appearance,然后在关闭图片选择器时重置外观。 - rmaddy
它运行了!太棒了! - David Henry
1
你应该在下面发布一个答案,包括你的完整实现。 - rmaddy
2个回答

6

在评论区rmaddy的解决方案已经解决了这个问题。

AppDelegate中实现;

func configureGlobalUI() {
    UINavigationBar.appearance().tintColor = .red
}

然后在didFinishLaunchingWithOptions中调用。

这样做是因为我需要在所有navigationBar外观中使用tintColor


9
这是针对整个应用程序的修改,如果我们只需要修改特定的ViewController,比如UIImagePickerController,该怎么办?谢谢。 - Ramesh Annadurai

-4
你可以将UIView的大小设置为导航栏的大小,并将其放置在导航栏下方,使导航栏的颜色alpha=0。 希望这能帮到你。 :)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接