我知道我可以定制UIBarButtonItem
文本通过
setTitleTextAttributes:forState:
还有一种方法可以自定义UITabBar
图标通过
setSelectedImageTintColor:
有没有办法自定义色调颜色UIBarButtonSystemItem
,(例如垃圾桶图标颜色),只是为了拥有一致的用户体验?我找不到任何东西。
如果这是不可能的,我将如何进行?我应该保存图标的颜色修改版本吗?我在哪里可以找到它?修改它的最简单方法是什么?
EDIT
澄清一下,这不是背景颜色UIBarButtonItem
我要求的是图标轮廓的颜色。
EDIT
设置色调颜色UIBarButtonItem
产生按钮集的背景颜色。
- (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;
}
yields this https://www.dropbox.com/s/yis6z5j3wzamdmm/Untitled.png.
EDIT 2
事实证明,系统图标的轮廓颜色实际上可以通过以下方式设置tintColor
的财产UIBarButtonItem
,但是只有当它style
财产有其价值UIBarButtonItemStylePlain
。 (即便如此,有些颜色是特殊的,使轮廓呈白色。其中一种颜色是[UIColor blackColor]
)但是,使用UIBarButtonItem
in a UINavigationBar
the style
被迫成为UIBarButtonItemStyleBordered
。在这种情况下,tintColor
设置按钮的背景颜色并将轮廓保留为白色。
当我使用UIBarButtonItem
在导航栏中,我的问题仍然没有解决。