【发布时间】:2016-05-02 15:21:22
【问题描述】:
我希望标签可点击以在 safari 中打开 url, 点击时电子邮件中的电话号码和电子邮件地址
override func viewDidLoad() {
super.viewDidLoad()
// DetailsSV.contentSize.height=1120
print("idis \(self.strUserid)")
let ref = Firebase(url: "https://businesswallet.firebaseio.com/Users")
ref.childByAppendingPath(self.strUserid as String).observeEventType(.Value, withBlock: { snapshot in
if let dict = snapshot.value as? NSMutableDictionary{
print("dict is \(dict)")
if let Email = dict["Email"] as? String {
self.EmailL.text = Email
}
if let name = dict["BusinessName"] as? String {
self.BusinessNameL.text = name
self.navigationItem.title = name
}
if let ShortDescription = dict["ShortDescription"] as? String {
self.ShortDescriptionL.text = ShortDescription
}
if let City = dict["City"] as? String {
self.CityL.text = City
}
if let ContactMe = dict["ContactMe"] as? String {
self.ContactMeL.text = ContactMe
}
if let PhoneNumber = dict["PhoneNumber"] as? String {
self.PhoneNumberL.text = PhoneNumber
}
if let Website1 = dict["Website1"] as? String {
self.Website1L.text = Website1
}
if let Website2 = dict["Website2"] as? String {
self.Website2L.text = Website2
}
if let Category = dict["Category"] as? String {
self.CategoryL.text = Category
}
if let Details = dict["Details"] as? String {
self.DetailsTV.text = Details
}
}
})
我添加了这个功能,但它不起作用:
if let Website1 = dict["Website1"] as? String {
self.Website1L.text = Website1
let weblurl = NSURL(string: "open page:\(Website1)")
UIApplication.sharedApplication().openURL(weblurl!)
}
【问题讨论】:
-
UITextView 内置支持检测和处理链接、数字、地址等。如果你关闭滚动,它基本上就是一个花哨的标签。
-
在界面构建器中,您可以使标签突出显示地址、链接等。您甚至可以使其变得难以处理。如果文本较大,您可以使用 textView 来做同样的事情。这些对象非常强大。
-
你为什么不直接使用
UIButton?您可以将其风格化为您想要的任何外观,它带有一个TouchUpInside处理程序。
标签: xcode swift label action uivewcontroller