

appleの標準のマップのようにピンに吹き出しがくっつくようにしたいです  
画面遷移はstoryBoardを使っています

画面遷移に関するメソッド

[code]

    func mapView(mapView: MKMapView, viewForAnnotation annotation: MKAnnotation) -> MKAnnotationView? {
        if annotation is MKUserLocation {
            return nil
        }
    
        // Identifier
        let myAnnotationIdentifier = "myAnnotation"
    
        // AnnotationViewをdequeue
        var myAnnotationView : MKAnnotationView! = mapView.dequeueReusableAnnotationViewWithIdentifier(myAnnotationIdentifier)
    
        //アノテーションの右側につけるボタンの設定
        let button:UIButton = UIButton(type: UIButtonType.InfoLight)
        if myAnnotationView == nil {
            myAnnotationView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: myAnnotationIdentifier)
    
            //アノテーションの右側にボタンを付ける
            myAnnotationView.rightCalloutAccessoryView = button
            myAnnotationView.canShowCallout = true
        }
        return myAnnotationView
    }
    
    func mapView(mapView: MKMapView, annotationView view: MKAnnotationView, calloutAccessoryControlTapped control: UIControl) {
    
        print("tapped")
        self.performSegueWithIdentifier("detailController", sender: view)
    
    }
    
[/code]

こんな感じです。ピンの右側に「i」のボタンを付け、ボタンタップで詳細画面のポップオーバーが出る という形にしたいです。

storyBoardはマップのビューとポップオーバーのビューの二つがあります  
[![storyBoard](https://i.stack.imgur.com/KXjTg.jpg)](https://i.stack.imgur.com/KXjTg.jpg)

ここで、「anchor」の項目に吹き出しの指定をしなければいけないのですが、mapの中のピンを指定する場合はどのように記述すればいいのでしょうか？  
よろしくお願いします。


CC BY-SA 3.0
2015-12-22T19:49:24.917
20305
2015-12-24T04:00:21.400
2015-12-24T04:00:21.400
8044
8044
question
ios swift
Mapのpin(annotation)へ向けたポップオーバーを生成する


ピンはアプリの実行中に動的に生成されるものなので、Storyboard 上で Anchor として指定するのは難しいと思います。

Storyboard 上での Popover 表示の実装は初めて試してみたのですが、おっしゃる通り、Anchor
を設定しないままだとエラーが出て、アプリのビルドに失敗してしまうのですね。ということは、Anchor だけコードで指定する、という方法も無理そうです。

ということは、Storyboard 上で Segue を設定するのもやめて、コードだけで Popover 表示するしかなさそうです。コードだけで
Popover を表示する方法については、`UIPopoverPresentationController`
のドキュメントに具体的なコードが載っているので、参考にしてみてください：

[UIPopoverPresentationController Class
Reference](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIPopoverPresentationController_class/index.html)  
※ なぜか Objective-C 版のドキュメントにしかコードは載っていません。


CC BY-SA 3.0
2015-12-23T10:40:10.843
20312
2015-12-23T10:40:10.843
2299
20305
answer