gpt4 book ai didi

ios - 如何避免 UIToolbar 的 tintColor 更改 UIButtonItem 按钮颜色?

转载 作者:可可西里 更新时间:2023-11-01 05:01:57 24 4
gpt4 key购买 nike

在 iOS7 中,我创建了一个 UIBarButtonItem 并初始化了一个颜色为绿色的图像。但是那个 UIBarButtonItem 的图像的最终外观是一个具有相同颜色的图像形状但颜色不同。颜色改为蓝色。

代码如下:

_recordVoiceItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"voiceIcon"] style:UIBarButtonItemStylePlain target:self action:nil];

_textView = [[UITextView alloc] initWithFrame:CGRectMake(40, 4, 220, BOTTOM_BAR_HEIGHT - 2*4)];
_textView.layer.borderWidth = 1.f;

_rightItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"modeIcon"] style:UIBarButtonItemStylePlain target:self action:nil];

_bottomBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, self.view.frame.origin.y + self.view.frame.size.height - BOTTOM_BAR_HEIGHT, self.view.frame.size.width, BOTTOM_BAR_HEIGHT)];

_bottomBar.items = @[_recordVoiceItem,[[UIBarButtonItem alloc] initWithCustomView:_textView],_rightItem];

[self.view addSubview:_bottomBar];

我尝试创建一个 UIToolBar 并通过 Interface Builder 向其中添加一些项目。外观很好。 UIBarButtonItem 图像的颜色是原始图像的颜色。

我怀疑如果我想通过编写代码来设置 UIToolBarUIBarButtonItem 的某些属性,我是否需要添加一些代码。你能告诉我怎么做吗?

最佳答案

虽然这不是必需的,但我的彩色 UIBarButtonItem 自 iOS7 以来已完成:

对于 objective-c :

UIImage* itemImage= [UIImage imageNamed:@"menu.png"]; // Colored Image
itemImage = [itemImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
_itemButton = [[UIBarButtonItem alloc] initWithImage:itemImage style:UIBarButtonItemStyleBordered target:self action:@selector(itemSelected:event:)];

UIImageRenderingModeAlwaysOriginal 是这里的关键。

对于 Swift 3:

    // Use the colored image menu.png as a UIBarButtonItem
if var itemImage = UIImage(named: "menu") {
itemImage = itemImage.withRenderingMode(.alwaysOriginal)
let itemButton = UIBarButtonItem(image: itemImage, style: .plain, target: self, action: #selector(self.itemSelected(_:)))

self.navigationItem.rightBarButtonItem = itemButton
}

同样,.withRenderingMode(.alwaysOriginal) 是这里的关键。

关于ios - 如何避免 UIToolbar 的 tintColor 更改 UIButtonItem 按钮颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20607540/

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