相关疑难解决方法(0)

iOS 15 导航栏透明

我的 iOS 应用程序使用故事板作为 UI,并使用自定义色调作为导航栏的背景颜色。

我已经在 Xcode 13 beta 5 上测试了我的应用程序,导航栏为“白色”,并且导航栏上的文本不可见。

在https://developer.apple.com/forums/thread/682420的苹果开发者论坛中,它指出“在 iOS 15 中,UIKit 已将scrollEdgeAppearance(默认情况下会生成透明背景)的使用扩展到所有导航栏”。要恢复旧的外观,您必须采用新的 UINavigationBar 外观 API

我将以下代码(来自上面的链接)添加到应用程序委托“application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions”:

        if #available(iOS 13, *) {
            let navigationController = UINavigationController(navigationBarClass: nil, toolbarClass: nil)
            let navigationBar = navigationController.navigationBar
            let appearance = UINavigationBarAppearance()
            appearance.configureWithOpaqueBackground()
            appearance.backgroundColor = UIColor(red: 0.0/255.0, green: 125/255.0, blue: 0.0/255.0, alpha: 1.0)
            navigationBar.standardAppearance = appearance;
            navigationBar.scrollEdgeAppearance = navigationBar.standardAppearance
            navigationBar.isTranslucent = false
        }
Run Code Online (Sandbox Code Playgroud)

这并不能解决问题。我仍然在故事板编辑器中为导航栏设置了自定义色调。我是否需要删除自定义色调,或者我是否错误地实现了外观 API?

uinavigationcontroller swift ios15 xcode13

166
推荐指数
8
解决办法
8万
查看次数

更改选项卡栏的背景颜色

我试图在Tab Bar的背景中获得所需的颜色,但是我遇到了问题.这些是我尝试的东西: -

  1. 从故事板中更改选项卡栏对象的背景颜色.渲染的颜色总是比所需的颜色浅.

  2. 使用viewDidLoad()方法内部的以下代码以编程方式更改选项卡栏的颜色

        self.tabBar.translucent = false
        self.tabBar.backgroundColor = UIColor(hexString: "323B61")
    
    Run Code Online (Sandbox Code Playgroud)

    它不会改变颜色.相反,渲染的颜色是白色.

如何获得Tab Bar所需的颜色?

uitabbarcontroller uitabbar ios swift

32
推荐指数
6
解决办法
4万
查看次数

ios13 - unSelectedItem 的 UITabBar 色调颜色不起作用

在 Xcode 10 中,unselectedItemTintColor 属性正常工作,但在 Xcode 11 和 ios 13 UITabbar 后,unselectedItemTintColor 属性不起作用。

override func viewDidLoad() {
    super.viewDidLoad()

    myTabbar.unselectedItemTintColor = .red
}
Run Code Online (Sandbox Code Playgroud)

uitabbaritem uitabbar ios swift ios13

11
推荐指数
2
解决办法
3071
查看次数