作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我的应用程序中的 UIBarButtonItems 具有浅色背景,我想用较深的颜色而不是标准的白色为图标着色。
像这样:
我可以使用
给文本着色[[UIBarButtonItem appearance] setTitleTextAttributes:@{UITextAttributeTextColor: [UIColor blackColor]} forState:UIControlStateNormal];,
但我不知道如何更改图标颜色。
这有可能吗?
最佳答案
使用自定义图像创建一个 UIButton
,然后使用 UIButton
创建一个 UIBarButtonItem
作为自定义 View :
UIImage *buttonImage = [UIImage imageNamed:@"image"]; // Tint this image programmatically
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:buttonImage forState:UIControlStateNormal];
button.frame = CGRectMake(0.0, 0.0, buttonImage.size.width, buttonImage.size.height);
[button addTarget:self action:@selector(action:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *barButtonItem = [[[UIBarButtonItem alloc] initWithCustomView:button] autorelease];
请注意,这主要针对 iOS 6 及以下版本。在 iOS 7+ 中,您可以通过 tintColor
免费获得此行为。
关于iphone - iOS 6,如何为 UIBarButtonItem 图标着色白色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19428119/
我是一名优秀的程序员,十分优秀!