gpt4 book ai didi

ios - 如何在 iOS 和 WatchKit 中更改图像 tintColor

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:56:33 26 4
gpt4 key购买 nike

我有一个名为“theImageView”的 UIImageView,它的 UIImage 是单色(透明背景),就像下面左边的黑色心形。如何根据 iOS 7+ 导航栏图标中使用的色调方法,在 iOS 7 或更高版本中以编程方式更改此图像的色调?

此方法是否也适用于 Apple Watch 应用程序的 WatchKit?

enter image description here

最佳答案

iOS
对于 iOS 应用程序,在 Swift 3、4 或 5 中:

theImageView.image = theImageView.image?.withRenderingMode(.alwaysTemplate)
theImageView.tintColor = UIColor.red

对于 swift 2:

theImageView.image = theImageView.image?.imageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate)
theImageView.tintColor = UIColor.redColor()

同时,现代的 Objective-C 解决方案是:

theImageView.image = [theImageView.image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
[theImageView setTintColor:[UIColor redColor]];

watch 套件
在 Apple Watch 应用程序的 WatchKit 中,您可以设置 tint color for a template image .

  1. 您必须将图像添加到 WatchKit 应用程序的 Assets 目录中,并在属性检查器中将图像集设置为呈现为模板图像。与 iPhone 应用程序不同,您目前无法在 WatchKit Extension 中设置代码中的模板渲染。
  2. 将该图像设置为在您的应用程序的界面生成器中的 WKInterfaceImage 中使用
  3. 在您的 WKInterfaceController 中为名为“theImage”的 WKInterfaceImage 创建一个 IBOutlet...

然后在 Swift 3 或 4 中设置色调颜色:

theImage.setTintColor(UIColor.red)

swift 2:

theImage.setTintColor(UIColor.redColor())

然后在 Objective-C 中设置色调颜色:

[self.theImage setTintColor:[UIColor redColor]];

如果您使用模板图像并且不应用色调颜色,则会应用您的 WatchKit 应用程序的全局色调。如果您没有设置全局色调,theImage 在用作模板图像时默认为淡蓝色。

关于ios - 如何在 iOS 和 WatchKit 中更改图像 tintColor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40202163/

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