1. ホーム
  2. ios

すべてのUIImageViewsに角丸を追加する

2023-08-01 12:25:29

質問

私は、私のプロジェクト内のすべてのUIImageViewsにいくつかの角丸を追加したいと思います。コードはすでに動作していますが、すべての画像にそれを適用する必要があります。これを追加するために UIImageView をサブクラス化する必要がありますか? もしそうなら、これを行う方法について、誰かが私にいくつかのポインタを与えることができますか?

以下はそのコードです。

- (void)viewDidLoad {
    [super viewDidLoad];
    NSString *mainpath = [[NSBundle mainBundle] bundlePath];
    welcomeImageView.image = [UIImage imageWithContentsOfFile:[mainpath stringByAppendingString:@"/test.png"]];
    welcomeImageView.layer.cornerRadius = 9.0;
    welcomeImageView.layer.masksToBounds = YES;
    welcomeImageView.layer.borderColor = [UIColor blackColor].CGColor;
    welcomeImageView.layer.borderWidth = 3.0;
    CGRect frame = welcomeImageView.frame;
    frame.size.width = 100;
    frame.size.height = 100;
    welcomeImageView.frame = frame;
}

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

UIImage のカテゴリを使用することができます。これは、クラスをサブクラス化する別の方法であり、小さな変更だけのために時々より簡単です。

例: 角丸属性が設定された UIImage を返すメソッドを追加する。

+(UIImage *)imageWithContentsOfFile:(NSString *)file cornerRadius:(NSInteger)... 

Objective-cのカテゴリに関するより詳細な情報は、以下を参照してください。 http://macdevelopertips.com/objective-c/objective-c-categories.html