gpt4 book ai didi

objective-c - appearanceWhenContainedIn 无法按预期使用 UITableView 和 UINavigationController

转载 作者:搜寻专家 更新时间:2023-10-30 20:09:07 25 4
gpt4 key购买 nike

我创建了一个简单的项目,其中包含一个 UINavigationController、一个位于右侧的 UIBarButtonItem 和一个 UITableView。为了进行测试,我想使用 appearanceWhenContainedIn: 将 UINavigationController 上的 UIBarButtonItems 着色为橙色,同时将 UITableView 中的 UIButtons 着色为红色。单独使用时,每种样式都可以正常工作。但是当我同时使用两者时,它不起作用。为什么??

场景 1(UINavigationController 中的 Color UIBarButtonItem):

[[UIBarButtonItem 
appearanceWhenContainedIn:[UINavigationController class], nil]
setTintColor:[UIColor orangeColor]];

enter image description here


场景 2(UITableView 中的彩色 UIButton):

[[UIButton 
appearanceWhenContainedIn:[UITableView class], nil]
setTintColor:[UIColor redColor]];

enter image description here


场景 3(合并它们):

[[UIButton 
appearanceWhenContainedIn:[UITableView class], nil]
setTintColor:[UIColor redColor]];
[[UIBarButtonItem
appearanceWhenContainedIn:[UINavigationController class], nil]
setTintColor:[UIColor orangeColor]];

enter image description here


可以通过此链接下载示例项目:https://www.dropbox.com/s/k7nabaqc9oso907/AppBugTesting.zip

更新:当我继续诊断问题时,我发现如果我将 UIButton 的“setBackgroundColor”设置为红色而不是 setTintColor,它会向 UIBarButtonItem 显示红色背景橙色。出于某种原因,两者都无法着色......仍然不确定为什么。

最佳答案

这个有效:

[[UIButton 
appearanceWhenContainedIn:[UITableView class], nil]
setTintColor:[UIColor redColor]];
[[UINavigationBar
appearanceWhenContainedIn:[UINavigationController class], nil]
setTintColor:[UIColor orangeColor]];

当然,这可能会将您不希望的其他一些东西变成橙色。

关于objective-c - appearanceWhenContainedIn 无法按预期使用 UITableView 和 UINavigationController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23273039/

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