Jan*_*Jan 26 xcode objective-c uibarbuttonitem
为什么图标info.png保持蓝色并且没有附带该图像的原始颜色?我使用以下代码:
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"info.png"]
style:UIBarButtonItemStylePlain
target:self
action:@selector(info:)];
Run Code Online (Sandbox Code Playgroud)
Pet*_*ter 56
默认情况下,UINavigationBar的条形按钮项目中的图像使用模板模式呈现.您可以将其设置为原始.
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[[UIImage imageNamed:@"info.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]
style:UIBarButtonItemStylePlain
target:self
action:@selector(info:)];
Run Code Online (Sandbox Code Playgroud)
小智 19
斯威夫特3:
let image : UIImage? = UIImage.init(named: "heart.png")!.withRenderingMode(.alwaysOriginal)
Run Code Online (Sandbox Code Playgroud)
我知道现在回答这个问题为时已晚,但是我看到有一种非常简单的方法可以解决此问题,而不是对代码进行一些更改
使用Xcode转到“资产”-“选择图像”-选中“渲染为”,然后选择“原始图像”而不是默认属性。
你也可以从资产中获取它.转到Assets.xcassets >>选择用作条形图项目图像的图像.点击右侧面板中的属性检查器.选择渲染为原始图像.它将是更早的默认值.您现在将看到彩色图像.
对于Swift 2.1+,它看起来像这样:
let image : UIImage? = UIImage(named:"myImage.png")!.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
Run Code Online (Sandbox Code Playgroud)
或者干脆
let image : UIImage? = UIImage(named:"myImage.png")!.imageWithRenderingMode(.AlwaysOriginal)
Run Code Online (Sandbox Code Playgroud)
斯威夫特 4:
let image = UIImage(named: "imageName")?.withRenderingMode(.alwaysOriginal)
navigationItem.leftBarButtonItem = UIBarButtonItem(image: image, style: .plain, target: self, action: #selector(leftBarButtonPressed))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16282 次 |
| 最近记录: |