2012-02-04 5 views

答えて

1

私はあなたの質問を正しく理解していれば、何らかの処理のためにピンサブタイトルを使用しており、ピンに表示したくありません。デフォルトのコールアウトを使用している場合は、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 

そして

myString = annotation.newSubtitle 
+0

イムでこれにアクセスすることができ取得 セマンティック問題を警告UIImage imageNamed:[NSString stringWithFormat:@ "c%d.png"、[[annotation newSubtitle] integerValue]]]; – pallavi

+0

@pallavi、おそらく実装する必要があります - (void)setNewSubTitle:(NSString *)SubTitleメソッド。更新された回答をご覧ください。何か困ったことがあれば教えてください。 – chatur

+0

私のためにそれはdosent仕事。 のnewSubtitleにアクセスできません - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id )注釈 – pallavi

1

にアクセスするための

[annotation setNewSubTitle: @"some text"]; 

を割り当てるためのあなたは、すべての特定の注釈に任意の文字列にアクセスしたい場合は、使用することができますNSMutabl eDictionaryを開き、注釈をキーとして追加します。このライン pinView.image = [にて メソッド「-newSubtitle」が見つかりません(「ID」への戻り値の型のデフォルト):以降あなたは

-(void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control { 
関連する問題