1. ホーム
  2. ios

[解決済み] ストーリーボード/xibファイルからUIImage renderingModeを変更する

2023-01-03 05:59:19

質問

を変更することは可能でしょうか? UIImage 's renderingMode をストーリーボードやxibエディタから読み込むことはできますか?

目標は tintColor を特定の UIImageView オブジェクトに変換します。

どのように解決するのですか?

.xibファイルやストーリーボード・ファイルでの方法を紹介します。

(Obj-C) カテゴリを UIImageView :

@interface UIImageView (Utils)

- (void)setImageRenderingMode:(UIImageRenderingMode)renderMode;

@end

@implementation UIImageView (Utils)

- (void)setImageRenderingMode:(UIImageRenderingMode)renderMode
{
    NSAssert(self.image, @"Image must be set before setting rendering mode");
    self.image = [self.image imageWithRenderingMode:renderMode];
}

@end

(Swift 4) UIImageView :

extension UIImageView {
    func setImageRenderingMode(_ renderMode: UIImage.RenderingMode) {
        assert(image != nil, "Image must be set before setting rendering mode")
        // AlwaysOriginal as an example
        image = image?.withRenderingMode(.alwaysOriginal)
    }
}

そして、xibファイルのIdentity Inspectorで、実行時属性を追加します。