我有以下代码
else if([annotation.title isEqualToString:NSLocalizedString(@"TITLE 1",nil)]|| [annotation.title isEqualToString:NSLocalizedString(@"TITLE 2",nil)])
{
static NSString *identifier = @"currentLocation";
SVPulsingAnnotationView *pulsingView = (SVPulsingAnnotationView *)[self.mapView dequeueReusableAnnotationViewWithIdentifier:identifier];
if(pulsingView == nil) {
pulsingView = [[SVPulsingAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:identifier];
pulsingView.annotationColor = [UIColor colorWithRed:0 green:0.678431 blue:0 alpha:1];
pulsingView.image = [UIImage imageNamed:@"image.png"];
pulsingView.frame = CGRectMake(0, 0, 15, 15);
pulsingView.canShowCallout = YES;
}
return pulsingView;
基本上它是一个图像,除此之外我们还有一个脉冲圆形注释。 点击图像时 - 注释描述使用"标题1"或"标题2"根据条件(这里不相关)出现。
问题很简单 - 当我申请时
pulsingView.frame = CGRectMake(0, 0, 15, 15);
脉冲视图顶部的图像不会改变大小。
需要有关替代解决方案的帮助。
非常感谢你们!
答案 0 :(得分:0)
1)试试这个
[pulsingView setFrame: CGRectMake(0, 0, 15, 15)];
而不是
pulsingView.frame = CGRectMake(0, 0, 15, 15);
2)如果第一个解决方案不起作用,您可能需要在使用Storyboard或...时禁用自动布局
3)如果您使用 XIB ,则可能需要添加
[pulsingView setNeedsDisplay];
答案 1 :(得分:0)
如果以前的答案不起作用,我曾经使用的一个小技巧就是调用setTranslatesAutoresizingMaskIntoConstraints:
。
您的代码如下:
[pulsingView setTranslatesAutoresizingMaskIntoConstraints:YES];