В моем приложении я добавляю подзаголовок к аннотационной булавке, но не хочу показывать булавку. Я просто использую его для целей кодирования. Как я могу скрыть или изменить цвет субтитров?
Скрыть подзаголовок аннотации или изменить цвет
Ответы (2)
Если я правильно понял ваш вопрос, вы используете субтитры булавки для некоторой обработки и не хотите показывать их на булавке. Если вы используете выноску по умолчанию, то невозможно изменить цвет субтитров или скрыть их после назначения annotation.subtitle = @"some subtitle"
.
Я бы предложил добавить еще одну переменную в аннотацию и назначить подзаголовок этой переменной (annotation.newSubtitle = @"some subtitle"
) и ничего не назначать для атрибута подзаголовка. Вся обработка, которую вы хотите сделать, может быть выполнена с помощью annotation.newSubtitle
.
Если вы не хотите добавлять новую переменную в аннотацию, вам придется реализовать пользовательскую выноску, что утомительно.
EDIT: вам будет полезно присвоить NSString вашей аннотации следующее.
@interface MyAnnotation : NSObject<MKAnnotation> {
NSString *newSubTitle;
}
@property(retain,readwrite, nonatomic) NSString *newSubTitle ;
@end
В части реализации
@implementation MyAnnotation
@synthesize mSubTitle;
-(void)setNewSubTitle:(NSString *)SubTitle{
self.newSubTitle = SubTitle;
}
@end
А для назначения
[annotation setNewSubTitle: @"some text"];
для доступа
myString = annotation.newSubtitle
Если вы хотите получить доступ к любой строке для каждой конкретной аннотации, вы можете использовать NSMutableDictionary и добавить свою аннотацию в качестве ключа. и позже вы могли получить доступ к этому в
-(void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control {