62

UIImageはすべて黒の小さなシンボルです。私が持っているUIImageカスタムUIButtonサブクラスに設定されています。画像に を適用することは可能ですか?tintColorそのため、黒い画像の代わりに、色が何にでも変わりますtintColorか?

新しい資産の作成を避けようとしているだけです。

// here I want defaultImageName (that is black) to use the tintColor (that is white)
[self setImage:[UIImage imageNamed:defaultImageName] forState:UIControlStateNormal];
4

8 に答える 8

78

iOS 7 のみをサポートしている場合は、次を使用できますtintColorUIImageRenderingModeAlwaysTemplate

この記事では、次のことについて説明します。

https://www.captechconsulting.com/blogs/ios-7-tutorial-series-tint-color-and-easy-app-theming

以前のバージョンをサポートする必要がある場合は、このスレッドを検討してください。

iPhone でプログラムを使用して画像に色を付けるにはどうすればよいですか?

于 2013-11-06T02:39:24.253 に答える
2

IOS 9でSwiftを使用して色合いと不透明度を使用する方法は次のとおりです-

//apply a color to an image
//ref - http://stackoverflow.com/questions/28427935/how-can-i-change-image-tintcolor
//ref - https://www.captechconsulting.com/blogs/ios-7-tutorial-series-tint-color-and-easy-app-theming
func getTintedImage() -> UIImageView {

    var image :UIImage
    var imageView :UIImageView

    image = UIImage(named: "someAsset")!
    let size  : CGSize = image.size
    let frame : CGRect = CGRectMake((UIScreen.mainScreen().bounds.width-86)/2, 600, size.width, size.height)

    let redCover : UIView = UIView(frame: frame)

    redCover.backgroundColor = UIColor.redColor()
    redCover.layer.opacity = 0.75

    imageView = UIImageView();
    imageView.image = image.imageWithRenderingMode(UIImageRenderingMode.Automatic)

    imageView.addSubview(redCover)

    return imageView
}
于 2016-06-07T13:14:41.490 に答える