Я создал название MKAnnotation PushPin, которое имеет заголовок и подзаголовок. Я хочу иметь возможность динамически менять заголовок в более позднее время. Я близок, поэтому я бы предпочел не создавать совершенно новый AnnotationView, но если мне нужно, я думаю, это тоже нормально. Моя проблема в том, что, как только я изменяю текст заголовка, размер окна не изменяется, и часть текста может обрезаться в зависимости от размера заголовка.
1) Есть ли событие, которое я могу вызвать, чтобы снова изменить размер всплывающего окна выноски?
2) Кроме того, я проверяю, что сначала у аннотации действительно есть заголовок, прежде чем я перезагружаю заголовок, но у меня возникли некоторые проблемы с его преобразованием после проверки, может кто-нибудь помочь мне с этим? Я все еще новичок в объективе-c, и этот ненадолго со мной связался.
#import <Foundation/Foundation.h>
#import <MapKit/MKAnnotation.h>
@interface PushPin : NSObject <MKAnnotation> {
CLLocationCoordinate2D _coordinate;
NSString *_title;
NSString *_subtitle;
NSString *_ID;
}
@property (nonatomic, readonly) CLLocationCoordinate2D coordinate;
@property (nonatomic, retain) NSString *title;
@property (nonatomic, retain) NSString *subtitle;
@property (nonatomic, retain) NSString *ID;
- (id) initWithCoordinateAndInformation:(CLLocationCoordinate2D)coordinate title:(NSString *)title subtitle:(NSString *)subtitle;
@end
- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view
{
NSLog(@"Annotation was TAPPED!");
if ([view.annotation isKindOfClass:[PushPin class]]) {
view.annotation.title = @"test";
// warning here, that this might not be implemented...
// but it is for this class type, how do I cast it to the correct type?
}
}