我知道我可以UIBarButtonItem
通过自定义文本
setTitleTextAttributes:forState:
还有一种方法可以UITabBar
通过以下方式自定义图标
setSelectedImageTintColor:
有没有办法自定义 a 的色调颜色UIBarButtonSystemItem
(例如垃圾桶图标颜色),只是为了获得一致的用户体验?我什么也找不到。
如果这不可能,我将如何进行?我应该保存图标的颜色修改版本吗?我在哪里可以找到它?修改它的最简单方法是什么?
编辑
为了澄清,这不是UIBarButtonItem
我要求的背景颜色,而是图标轮廓的颜色。
编辑
设置 tint colorUIBarButtonItem
生成按钮集的背景颜色。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
[[UINavigationBar appearance] setTintColor:[UIColor greenColor]];
UIBarButtonItem* trashButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemTrash target:nil action:nil];
trashButton.tintColor = [UIColor blackColor];
UIViewController* viewController = [[UIViewController alloc] init];
UINavigationController* navController = [[UINavigationController alloc] initWithRootViewController:viewController];
[viewController.navigationItem setRightBarButtonItem:trashButton];
self.window.rootViewController = navController;
return YES;
}
产生这个。
编辑 2
事实证明,系统图标的轮廓颜色实际上可以通过tintColor
的属性设置UIBarButtonItem
,但前提是其style
属性具有值UIBarButtonItemStylePlain
。(即便如此,有些颜色是特殊的,并留下轮廓白色。其中一种颜色是[UIColor blackColor]
)但是,UIBarButtonItem
在 a中使用UINavigationBar
thestyle
是被迫的UIBarButtonItemStyleBordered
。在这种情况下,tintColor
设置按钮的背景颜色并将轮廓留白。
当我UIBarButtonItem
在导航栏中使用 s 时,我的问题仍未解决。