我正在尝试通过获取json编码数组来创建一个从sql数据库获取数据的应用程序。
它将地址数据和其他类型的数据传递给mapkit Map View元素和一些标签/文本视图元素。
地图视图大约占视图上半部分的一半。视图的下半部分包含有关地图上显示内容的数据。
地图效果非常好,我可以在应用程序的下半部分检索标签和textview的文本。
我从sql数据库中提取了一个电子邮件地址,我希望在文本视图中显示它。检索并插入电子邮件,当我运行应用程序时它会变为蓝色,但我仍然无法单击它。
在main.storyboard中,我取消选中“可编辑”并选中“可选”并检测“链接”,“地址”,“电话号码”,“事件”以及选中“启用用户交互”。
为什么电子邮件无法点击?我希望能够点击它以便发送电子邮件。
import Foundation
import UIKit
import MapKit
class DetailViewController : UIViewController, UITableViewDelegate, UITextFieldDelegate {
@IBOutlet weak var mapView: MKMapView!
@IBOutlet weak var contactText: UITextView!
@IBOutlet weak var textLabel: UILabel!
var selectedLocation : LocationModel?
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewDidAppear(animated: Bool) {
let address = self.selectedLocation!.address
CLGeocoder().geocodeAddressString(address!, completionHandler: { (placemarks, error) in
if error != nil {
print(error)
return
}
if placemarks?.count > 0 {
let placemark = placemarks?[0]
let location = placemark?.location
let coordinate = location?.coordinate
let viewRegion: MKCoordinateRegion = MKCoordinateRegionMakeWithDistance(coordinate!, 1750, 1750)
self.mapView.setRegion(viewRegion, animated: true)
// Plot pin
let pin: MKPointAnnotation = MKPointAnnotation()
pin.coordinate = coordinate!
self.mapView.addAnnotation(pin)
//add title to the pin
pin.title = self.selectedLocation!.overskrift
if placemark?.areasOfInterest?.count > 0 {
//let areaOfInterest = placemark!.areasOfInterest![0]
//print(areaOfInterest)
} else {
print("No area of interest found.")
}
}
})
textLabel.text = self.selectedLocation!.intro
//The following text should be a link but is not.
contactText.text = self.selectedLocation!.email
}
}
答案 0 :(得分:0)
尝试使用点击手势识别器!将其拖动到连接的文本视图顶部,并使用函数将其连接到您的代码。