C大师!我需要你的帮助! 我有以下代码块,我用来修改图像,使其呈椭圆形,带有彩色边框。它完美无缺。现在,我还有13个其他图像,并且不想为每个图像输出这个图像。我相信将它们存储到一个数组中并传递给一个函数要容易得多,但是我正在踩到它的确切方式。
CALayer *A = [img1 layer];
[A setMasksToBounds:YES];
[A setCornerRadius:31.0];
[A setBorderWidth:2.5];
[A setBorderColor:[[UIColor blueColor] CGColor]];
我希望有人可以教我并帮助将其转化为功能性学习体验! 谢谢你的帮助。
答案 0 :(得分:1)
将它们存储到数组中并传递给函数
烨。这是一个选择:
- (void)makeImageViewsOval:(NSArray*)imgArray {
for (UIImageView *currentImage in imgArray) {
CALayer *A = currentImage.layer;
[A setMasksToBounds:YES];
[A setCornerRadius:31.0];
[A setBorderWidth:2.5];
[A setBorderColor:[[UIColor blueColor] CGColor]];
}
}
然后,您可以轻松地提供UIImageView
这样的内容:
[self makeImageViewsOval:@[imgView1, imgView2, imgView3]];
答案 1 :(得分:0)
在NSArray
中添加所有图像之前,例如:
NSArray *images = [[NSArray alloc] initWithObjects: img1, img2, img3, img4, img5, nil];
然后你只需制作一个类似
的方法-(void)imagesTrasformerByArray:(NSArray *)images{
for(UIImageView *image in images){
CALayer *A = [imgage layer];
[A setMasksToBounds:YES];
[A setCornerRadius:31.0];
[A setBorderWidth:2.5];
[A setBorderColor:[[UIColor blueColor] CGColor]];
}
}