【问题标题】:How to add a uitextfield & a uibutton in MKPinAnnotationView callout?如何在 MKPinAnnotationView 标注中添加 uitextfield 和 uibutton?
【发布时间】:2013-05-23 06:45:45
【问题描述】:

我想知道是否有任何方法可以在MKPinAnnotationView 标注气泡中添加UITextFieldUIButton,然后如果用户单击按钮,它将调用某些方法?

【问题讨论】:

    标签: iphone mkmapview mkannotation callouts


    【解决方案1】:

    您可以使用以下代码添加自定义视图而不是 MKAnnotationView..

    您可以使用addSubview 属性简单地添加任何控件...

    -(MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:(id <MKAnnotation>)annotation 
    {
        MKAnnotationView *customPinView = nil; 
        if(annotation != mapView.userLocation) 
        {
            static NSString *defaultPinID = @"com.invasivecode.pin";
            pinView = (MKAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID];
            if ( customPinView == nil ) 
                customPinView = [[MKAnnotationView alloc]
                                             initWithAnnotation:annotation reuseIdentifier:defaultPinID];
    
            customPinView.canShowCallout = YES;
            //customPinView.animatesDrop = YES;
            customPinView.image = [UIImage imageNamed:@"yourImageName"];//write your imagename 
            // and add UIButton with bellow code
            UIButton* rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
            [rightButton addTarget:self
                                action:@selector(ShowStoreDetail:)
                      forControlEvents:UIControlEventTouchUpInside];
            customPinView.rightCalloutAccessoryView = rightButton;here
        } 
        else {
            [mapView.userLocation setTitle:@"I am here"];
        }
        return pinView;
    }
    

    希望对你有用……

    :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-09
      • 1970-01-01
      • 1970-01-01
      • 2015-07-01
      • 1970-01-01
      • 2018-03-12
      相关资源
      最近更新 更多