K M*_*K M 10 uinavigationbar ios swift ios15
我一直在寻找不同的解决方案,我不断看到的解决方案是将滚动边缘外观设置为等于标准外观。我也看过这个解决方案。这两种解决方案都不适合我。一旦用户到达可滚动内容的末尾(我认为滚动边缘就是这样),我也没有看到此问题出现。我发现当用户开始在长列表中滚动时就会出现问题。我在下面附上了照片,其中机密数据已被模糊处理。我的应用程序中导航栏看起来正确的唯一位置是在主视图中。我的应用程序架构是主要细节。它在 iOS 14 的所有导航栏中都能完美运行,此问题特定于 iOS 15。
场景 1:主视图控制器列表视图(滚动开始后导航栏看起来正确)
场景 2:在 MVC 表格上选择一个项目后(导航栏是透明的,滚动开始后不会模糊)
这是我在故事板中的当前视图,其中包含标准边缘和滚动边缘的默认值。

除了将滚动边缘外观设置为等于标准之外,我还尝试过一些方法:
小智 11
在iOS 15中,UIKit将scrollEdgeAppearance的使用扩展到所有导航栏,默认情况下它会产生透明背景。设置scrollEdgeAppearance如下代码。它对我有用。
if #available(iOS 15, *) {
let appearance = UINavigationBarAppearance()
appearance.configureWithOpaqueBackground()
appearance.backgroundColor = < your tint color >
navigationController?.navigationBar.standardAppearance = appearance;
navigationController?.navigationBar.scrollEdgeAppearance = navigationController?.navigationBar.standardAppearance
}
Run Code Online (Sandbox Code Playgroud)
我也遇到了同样的问题。我\xe2\x80\x99注意到,如果我屏蔽掉设置背景颜色的代码(通过ZStack或.background(Color)),透明度问题就消失了。\n就我而言,我需要设置背景颜色并制定了一种解决方法,将导航栏保留为白色,而不是辅助系统背景颜色。
\n| 归档时间: |
|
| 查看次数: |
9859 次 |
| 最近记录: |