gpt4 book ai didi

uinavigationbar - 为什么[[UINavigationBar外观] setTranslucent :NO] crash my app?

转载 作者:行者123 更新时间:2023-12-03 07:25:54 25 4
gpt4 key购买 nike

this 相同的问题,但这个问题被回避了(因为当时的保密协议(protocol))并且不再有效。

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** Illegal property type, c for appearance setter, _installAppearanceSwizzlesForSetter:'

我在初始 View Controller 的 viewDidLoad 中设置它。 setTranslucent 会自动完成,并且不会提示,直到崩溃并谈论 swizzles 之类的事情。

任何有关这方面的信息都会很棒,但我仍然很难在我的应用程序中获得一致的状态栏外观。

最佳答案

似乎无法使用 UIAppearance 设置 translucent 属性。我不知 Prop 体原因,但我猜有些属性不受支持。但是,我通过创建自定义 UIViewController 并使应用程序中的所有其他 viewController 成为该自定义 viewController 的子类来解决了这个问题。这样,我可以设置全局属性(例如您的情况下的半透明),这些属性将由我的应用程序中的所有其他 viewController 继承。我知道这是一个很大的变化,但我希望它有所帮助。

**** 编辑 ****

从 iOS 8 开始,可以使用 UIAppearance 设置半透明度:

objective-c

if([UIDevice currentDevice].systemVersion.floatValue >= 8.0) {

[[UINavigationBar appearance] setTranslucent:YES];
}

swift

if (UIDevice.currentDevice().systemVersion as NSString).floatValue >= 8.0 {

UINavigationBar.appearance().translucent = true
}

关于uinavigationbar - 为什么[[UINavigationBar外观] setTranslucent :NO] crash my app?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19125468/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com