我在带有自定义标记的地图视图中显示用户。每个标记都将包含用户的图像,如下图所示:
地图上可能有多个用户显示为标记。我通过API获取用户及其图像的数据。我从API收到的图像只是一个矩形图像。但我必须证明该图像与上面显示的图像非常相似。所以我想到了两个解决方案。
任何人都可以帮我找到更好的解决方案,或者只是完成我的解决方案吗?
答案 0 :(得分:2)
第一个选项将是最简单的。如果您使用第二个选项,那么这里有一些东西:
-(UIImage *)makeRoundedImage:(UIImage *) image
radius: (float) radius {
CALayer *imageLayer = [CALayer layer];
imageLayer.backgroundColor = [UIColor whiteColor].CGColor;
imageLayer.frame = CGRectMake(0, 0, image.size.width, image.size.height);
imageLayer.contents = (id) image.CGImage;
imageLayer.masksToBounds = YES;
imageLayer.cornerRadius = radius;
UIGraphicsBeginImageContext(image.size);
[imageLayer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *roundedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return roundedImage;
}
这将创建一个白色背景的圆形UIImage。只需使用生成的UIImage作为标记图标。
答案 1 :(得分:-1)
这完全没有回答你的问题,但是对于imageView使用此代码(此代码在目标C中," profilePic"是一个示例UIImageView):
profilePic.layer.cornerRadius = profilePic.frame.size.width / 2;