gpt4 book ai didi

ios - UIImageView 作为 callout 的 leftCalloutAccessoryView 自动移动左上角

转载 作者:可可西里 更新时间:2023-11-01 03:31:12 25 4
gpt4 key购买 nike

它在 iOS 7 上运行良好,但 UIImageView 在 iO8 上的位置会发生变化,如下图所示。也将 rightCalloutAccessoryView 位置移动到右上角。

有人可以帮忙吗?

干杯。

在 iOS 7 中

iOS 7

在 iOS 8 中

iOS8

-(void)mapView:(MKMapView*)mapView didSelectAnnotationView:(MKAnnotationView*)view{

if(![view.annotation isKindOfClass:[MKUserLocation class]]) {

UBAnnotation *selectedAnnotation = view.annotation;

NSURL * imageUrlAtIndex = [NSURL URLWithString:[[self.objects objectAtIndex:selectedAnnotation.idx] ad_thumbImageUrl]];


UIImageView * leftCalloutView = [[UIImageView alloc] initWithFrame:CGRectMake(2, 2, 40, 40)];
[leftCalloutView setImageWithURL:imageUrlAtIndex];
leftCalloutView.layer.masksToBounds = YES;
leftCalloutView.layer.cornerRadius = 6;

view.leftCalloutAccessoryView = leftCalloutView;

}

-(MKAnnotationView *) mapView:(MKMapView *)mapView viewForAnnotation:(id ) 注释{

MKPinAnnotationView *annView=[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"currentloc"];

if ([annotation isKindOfClass:[MKUserLocation class]]) {
return nil;
} else {
annView.image = [UIImage imageNamed:@"pin"];

annView.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
annView.rightCalloutAccessoryView.tintColor = [UBColor ubGreenColor];
annView.animatesDrop= NO;
annView.canShowCallout = YES;

}

return annView;

最佳答案

我解决了!

都是关于titleLabel的字符串长度的。如果字符串长度超过 20-25 个字符,则左右附件 View 上移。

首先,我修剪了显示在标题标签或副标题标签上的字符串。之后,在字符串末尾连接“...”作为字符串。

解决方案有点乱,但效果很好。

关于ios - UIImageView 作为 callout 的 leftCalloutAccessoryView 自动移动左上角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25958124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com