更改 iOS 工具栏中的默认图标颜色
我需要工具栏中的自定义图标(黄色工具栏背景上的黑色图标)。 我尝试了 UIBarButtonItem initWithImage 构造函数,但在这种情况下 图标是用alpha值显示的,好像没办法 更改基本的白色图标颜色。我最终使用了 UIButton,但它会好得多, 仅更改默认图标颜色,可以吗?
UIImage *buttonImage = [UIImage imageNamed:iconName];
UIBarButtonItem *bi = [[UIBarButtonItem alloc] initWithImage:buttonImage style:UIBarButtonItemStylePlain target:nil action:nil];
I need custom icons in toolbar (black icons on yellow toolbar background).
I tried UIBarButtonItem initWithImage constructor, but it this case
is icon displayed using alpha values, and it seems that there is no way
to change basic white icon color. I ended up using UIButton, but it will be much better,
to just change default icon color, is it possible?
UIImage *buttonImage = [UIImage imageNamed:iconName];
UIBarButtonItem *bi = [[UIBarButtonItem alloc] initWithImage:buttonImage style:UIBarButtonItemStylePlain target:nil action:nil];
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以通过设置色调使工具栏变成黄色:
如果您想要自定义 UIBarButtonItem 具有自定义图像、颜色等...就像您在 UIButton 中一样,一种选择是创建一个类,将 UIButton 封装为 UIBarButtonItem 中的自定义视图。这是我的自定义课程 - 希望它有所帮助:
You can make the toolbar yellow by setting the tint:
If you want custom UIBarButtonItem with custom image, colors etc... like you get in UIButton, one option is to create a class which encapsulates UIButton as the custom view in UIBarButtonItem. Here's my custom class - hope it helps:
阅读initWithImage:style:target:action:参数说明
图片
该项目的图像。如果为零,则不显示图像。
栏上显示的图像源自此图像。如果该图像太大而无法放在条上,则会缩放以适合该图像。通常,工具栏和导航栏图像的大小为 20 x 20 点。源图像中的 Alpha 值用于创建图像 - 不透明值将被忽略。
除了 alpha 之外的所有内容都将被忽略。工具栏是黑白的。
如果您确实需要颜色,则可以子类化或使用其他 UI 框架,例如 Three20 。
Read description of parameters of initWithImage:style:target:action:
image
The item’s image. If nil an image is not displayed.
The images displayed on the bar are derived from this image. If this image is too large to fit on the bar, it is scaled to fit. Typically, the size of a toolbar and navigation bar image is 20 x 20 points. The alpha values in the source image are used to create the images—opaque values are ignored.
Everything except alpha is ignored. Toolbar is black and white.
Subclass or use other UI frameworks, like three20 if you really need colors there.