首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >旋转MKAnnotationView图像

旋转MKAnnotationView图像
EN

Stack Overflow用户
提问于 2015-07-10 06:54:37
回答 1查看 210关注 0票数 3

我想将UIView添加到MKAnnotationView中作为图像。但是,首先,我想以UIView为单位旋转,然后在UIVIew中添加新的UIImage。你能帮帮我吗?我试过了,但UIView从不旋转。

代码语言:javascript
复制
UIView *pinView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 63, 63)];
pinView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"IconMapPin"]];
pinView.transform = CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(self.heading));

UIImage *pinImage = [self imageFromUIView:pinView];    
annotationView.image = pinImage;

方法将UIView转换为UIImage

代码语言:javascript
复制
- (UIImage *) imageFromUIView:(UIView*)view
{
    UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.opaque, 0.0);
    [view.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    return image;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-10 09:22:17

把这个去掉,

代码语言:javascript
复制
pinView.transform = CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(self.heading));

加上这个,

代码语言:javascript
复制
pinImage.transform = CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(self.heading));

在这之后,

代码语言:javascript
复制
UIImage *pinImage = [self imageFromUIView:pinView]; 

所以最后的代码是,

代码语言:javascript
复制
UIView *pinView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 63, 63)];
pinView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"IconMapPin"]];


UIImage *pinImage = [self imageFromUIView:pinView]; 
pinImage.transform = CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(self.heading));
annotationView.image = pinImage;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31334328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档