0

私は Map iOS6 に取り組んでいますが、いくつかの問題が発生しました: 下の画像のように、現在の場所の注釈と placeMark にも callOut ボタンがありますが、別のタスクを実行するボタンが必要です。どうすればよいですか? これは、現在の場所では、このタスクに callOut ボタンが必要であり、placeMark では、callout ボタンが別のタスクを実行することを意味します。
このページにアクセスして画像をご覧ください
http://upanh.com/listing/?s=c3f4954854a30fe50e3e15f9ae064ba2
ここに画像を投稿するほどの評判はありません。
私はこのコードを試しました:

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view
calloutAccessoryControlTapped:(UIControl *)control
{
    if ([(UIButton*)control buttonType] == UIButtonTypeDetailDisclosure)
    {
       ...
       locationSheet.cancelButtonIndex = locationSheet.numberOfButtons - 1;
    }else if ([(UIButton*)control buttonType] == UIButtonTypeInfoLight)
    {
       ...
       locationSheet.cancelButtonIndex = locationSheet.numberOfButtons - 1;
    }
}

- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex {
    // 1
    if (buttonIndex != actionSheet.cancelButtonIndex)
    {
        if (buttonIndex == 0)
        {
        }
    }
}

actionSheet の 2 つのボタン間で異なるタスクを実行するにはどうすればよいですか? 私の状況を説明するのは非常に難しいです。皆さんが私が上記のことを行っていることを理解してくれることを願っています。あなたの助けに感謝します. よろしくお願いします。

4

1 に答える 1

1

画像にアクセスできません - しかし、MKAnnotations ではなく実際のボタン (UIButton) がある場合は、ボタンにタグを指定し (もちろん、それぞれに異なるタグ)、それらを同じ機能に向けてから、タグで区別?UIButtonTypeCustomしたがって(これは、 だけでなく、UIView実際にはすべてのボタンに使用できます-それらはすべて をサポートしていますtag):

 UIButton *firstButton = [UIButton buttonWithType:UIButtonTypeCustom];
 UIButton *secondButton = [UIButton buttonWithType:UIButtonTypeCustom];

 firstButton.tag = 100;
 secondButton.tag = 200;

 [firstButton addTarget:self selector:@selector(doSomething:)];
 [secondButton addTarget:self selector:@selector(doSomething:)];

 - (void)doSomething:(id)sender {
 UIButton *pressedButton = (UIButton*)sender;

 if (pressedButton.tag == 100) {
 //First button
 }
 else if (pressedButton.tag == 200) {
 //Second button
 }
于 2013-03-26T18:59:55.740 に答える