gpt4 book ai didi

ios - AppDelegate 中的全局 View 样式?

转载 作者:行者123 更新时间:2023-11-29 03:19:25 24 4
gpt4 key购买 nike

为什么当我在我的 AppDelegate 中添加这个时我的应用程序总是崩溃?:

// Change Global Style of the UINavigationBar
[[UINavigationBar appearance] setBarTintColor:[UIColor colorWithRed:12.0/255.0 green:109.0/255.0 blue:216.0/255.0 alpha:1.0]];
[[UINavigationBar appearance] setTranslucent:NO];
[[UINavigationBar appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObject:[UIColor whiteColor] forKey:NSForegroundColorAttributeName]];
[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], nil] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor], NSForegroundColorAttributeName,nil] forState:UIControlStateNormal];
[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];

// Chnage Global TabBar Color w/ Options
[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor orangeColor], NSForegroundColorAttributeName, nil] forState:UIControlStateNormal];
[[UITabBar appearance] setBarTintColor:[UIColor colorWithRed:12.0/255.0 green:109.0/255.0 blue:216.0/255.0 alpha:1.0]];
[[UITabBar appearance] setTranslucent:NO];

我应该在每个 VC 而不是 AppDelegate 中执行此操作吗?

一切都编译,但应用程序崩溃并在控制台中显示此错误:

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

最佳答案

UIAppearance 方法 ([SomeClass Appearance]) 对该类型的所有控件生效。您只需声明一次,然后创建的任何新控件都将采用该样式。

但是,并非所有属性都可以与 UIAppearance 一起使用。半透明是其中之一,因此对 setTranslucent: 的调用是导致崩溃的原因。如果您查看 UINavigationBar header ,您就可以看到这一点 - translucent 没有 UI_APPEARANCE_SELECTOR 注释。您必须在特定的导航栏实例上设置半透明度。

关于ios - AppDelegate 中的全局 View 样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21290363/

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