How can I display a MKPinAnnotationView data (e.g. title, subtitle) in a fixed-size component below the map instead of the popup above the pin?
<p>I have a map in my swift ios app and it is full of markers. Therefore I've decided to use marker clustering taken from here: <a href="https://github.com/ribl/FBAnnotationClusteringSwift" rel="nofollow noreferrer">https://github.com/ribl/FBAnnotationClusteringSwift</a> </p>

<p>After implementing it in my app I see pins and clusters, so that's cool. </p>

<p>This is how I do it - first I call my webservice and fetch all the data for each pin and put it into the array:</p>

<pre><code>func fetchRequests(radius: Double, lat: Double, lon: Double, completionHandler: (() -&gt; Void)?){
    Alamofire.request(.GET, "http://mywebservice.com/fetchdata", parameters: ["param": "1"])
        .responseJSON { response in
            switch response.result {
            case .Success:

                self.array.removeAll()
                if let jsonData = response.result.value as? [[String: AnyObject]] {
                    for requestJSON in jsonData {
                        if let request = SingleRequest.fromJSON(JSON(requestJSON)){

                            let pinOne = FBAnnotation()
                            pinOne.coordinate = CLLocationCoordinate2D(latitude: request.latitude, longitude: request.longitude)
                            pinOne.title = request.title
                            pinOne.subtitle = request.discipline
                            self.array.append(pinOne)
                        }
                    }
                }
                self.clusteringManager.setAnnotations(self.array)
                completionHandler!()

                case .Failure(let error):
                print("SWITCH ERROR")
                print(error)
            }

    }
}
</code></pre>

<p>Then I'm actually calling the function from above and doing:</p>

<pre><code>let annotationArray = self?.clusteringManager.clusteredAnnotationsWithinMapRect(self!.mapView.visibleMapRect, withZoomScale:scale)
self?.clusteringManager.displayAnnotations(annotationArray!, onMapView:(self?.mapView)!)
</code></pre>

<p>and at the end I'm putting data on map while checking whether each pin is a cluster or a normal pin:</p>

<pre><code>func mapView(mapView: MKMapView!, viewForAnnotation annotation: MKAnnotation!) -&gt; MKAnnotationView! {
    var reuseId = ""
    if annotation.isKindOfClass(FBAnnotationCluster) {
        reuseId = "Cluster"
        var clusterView = mapView.dequeueReusableAnnotationViewWithIdentifier(reuseId)
        clusterView = FBAnnotationClusterView(annotation: annotation, reuseIdentifier: reuseId, options: nil)

        return clusterView
    } else {
        reuseId = "Pin"
        var pinView = mapView.dequeueReusableAnnotationViewWithIdentifier(reuseId) as? MKPinAnnotationView
        pinView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: reuseId)
        pinView!.calloutOffset = CGPoint(x: -5, y: 5)
        pinView!.canShowCallout = true
        pinView!.rightCalloutAccessoryView = UIButton(type: .DetailDisclosure) as UIView

        return pinView   
    } 
}
</code></pre>

<p>So far so good. It works as expected, after clicking each pin I see the popup above it with a <code>title</code> and <code>subtitle</code>. But I would like to achieve a different effect. </p>

<p>When user taps a pin - instead of a popup above it - some square component appears below the map. I was looking for some similar solutions to give you as an example and I found it in the app called <code>Periscope</code> - this is how their map looks before user clicks any event:</p>

<p><a href="https://i.stack.imgur.com/1t3BQ.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/1t3BQ.png" alt="enter image description here"></a></p>

<p>and this is what happens right after clicking any point on the map:</p>

<p><a href="https://i.stack.imgur.com/daedq.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/daedq.png" alt="enter image description here"></a></p>

<p>This component of course disappears as soon as user scrolls the map.</p>

<p>Is that achievable in <code>Swift</code>?</p>