Добавьте скругленные углы ко всему UIImageViews

Я хотел бы добавить некоторые скругленные углы ко всем 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;
}
78
задан Stuart 3 February 2014 в 06:36
поделиться

3 ответа

Можно использовать категорию для UIImage, которая является альтернативным способом подклассификации Класса и иногда проще при небольших изменениях.

например, добавить метод, который возвращает UIImage с закругленным угловым набором атрибутов.

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

дополнительную информацию о категориях Objective-c можно найти http://macdevelopertips.com/objective-c/objective-c-categories.html

25
ответ дан 24 November 2019 в 10:32
поделиться

Да, вы должны подклассьте UiimageView и используйте свой пользовательский подкласс на протяжении всего вашего проекта.

5
ответ дан 24 November 2019 в 10:32
поделиться

Проверьте это - Округлые углы на UiImage

Модификация слоя, кажется, лучший способ.

UIImageView * roundedView = [[UIImageView alloc] initWithImage: [UIImage imageNamed:@"wood.jpg"]];
// Get the Layer of any view
CALayer * l = [roundedView layer];
[l setMasksToBounds:YES];
[l setCornerRadius:10.0];
114
ответ дан 24 November 2019 в 10:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: