gpt4 book ai didi

ios - UIBarButtonItem 标题文本始终是全局色调颜色

转载 作者:行者123 更新时间:2023-12-01 16:41:40 25 4
gpt4 key购买 nike

iOS 7.0 及更高版本。

在 AppDelegate.m 中,我正在设置我的全局 tintColor:self.window.tintColor = myGlobalTintColor; .

在我的表格 View Controller 中,在编辑表格 View 单元格时,我想要导航栏中的红色垃圾桶按钮,我有这个:

- (void)setEditing:(BOOL)editing animated:(BOOL)animate {
[super setEditing:editing animated:animate];
if (editing) { // Start editing
self.deleteBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemTrash target:self action:@selector(deleteButtonPressed)];
[self.deleteBarButtonItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: [UIColor redColor], NSForegroundColorAttributeName, nil] forState:UIControlStateNormal];
self.navigationItem.rightBarButtonItems = @[self.deleteBarButtonItem];
}
}

尽管设置 NSForegroundColorAttributeName 的代码行至 [UIColor redColor],我从没见过红色。当按钮设置为 .enabled = YES ,我只是在我的全局色调中看到它,就像所有其他按钮一样:
UINavigationBar with always tinted UIBarButtonItem

我已经梳理了我的代码,并且确定没有其他位置可以将其他任何内容设置为 myGlobalTintColor .值得注意的是,这个 UITableViewController从 Storyboard 中实例化。注释掉 AppDelegate.m 中的行只会将所有内容发送回默认的蓝色 tintColor ,但我仍然没有得到删除按钮上的红色。

最佳答案

原来问题是我使用了第三方库,SDCAlertView ,我正在设置

[[SDCAlertView appearance] setTintColor:globalTintColor];

出于某种原因,这导致了我所有的 UINavigationBar对象采取它的 tintColor。

我通过简单地替换上面的代码来解决这个问题:
[[SDCAlertView appearance] setButtonTextColor:globalTintColor];

关于ios - UIBarButtonItem 标题文本始终是全局色调颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23818808/

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