Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 当用户点击电话号码时,如何拨打该号码?_Ios_Swift - Fatal编程技术网

Ios 当用户点击电话号码时,如何拨打该号码?

Ios 当用户点击电话号码时,如何拨打该号码?,ios,swift,Ios,Swift,我有一个我正在开发的Swift应用程序,在“联系我们”页面上,有一个显示“Facebook个人资料”、电话号码、电子邮件地址的页面 我被告知有一种方法可以设置代码,这样当有人点击电话号码时,它就会在iPhone电话拨号器中打开 你知道在哪里可以找到代码吗 有人说他们知道密码,但当我问他密码在哪里时,他说我只需要摆弄一下就行了 这是他的密码: 您需要为每个标签添加此代码,以便在viewDidLoad中为其添加操作: yourlabel.isUserInteractionEnabled = true

我有一个我正在开发的Swift应用程序,在“联系我们”页面上,有一个显示“Facebook个人资料”、电话号码、电子邮件地址的页面

我被告知有一种方法可以设置代码,这样当有人点击电话号码时,它就会在iPhone电话拨号器中打开

你知道在哪里可以找到代码吗

有人说他们知道密码,但当我问他密码在哪里时,他说我只需要摆弄一下就行了

这是他的密码:

您需要为每个标签添加此代码,以便在
viewDidLoad
中为其添加操作:

yourlabel.isUserInteractionEnabled = true

let rc = UITapGestureRecognizer(target: self, action: #selector(YourViewController.yourfunction))
rc.numberOfTapsRequired = 1
rc.numberOfTouchesRequired = 1

yourlabel.addGestureRecognizer(rc)

func yourfunction(recognizer: UITapGestureRecognizer) {
    let email = "foo@bar.com"

    let url = NSURL(string: "mailto:\(email)")
    UIApplication.sharedApplication().openURL(url)
}
这是我的联系人页面代码(contactViewController.swift)。有人能帮我看看吗

import UIKit

class contactViewController: UIViewController {
    @IBOutlet weak var phone: UILabel!
    @IBOutlet weak var mail: UILabel!
    @IBOutlet weak var facebook: UILabel!
    @IBOutlet weak var instagram: UILabel!
    @IBOutlet weak var address: UILabel!
    @IBOutlet weak var titleContact: UILabel!
    @IBOutlet weak var message: UILabel!
    @IBOutlet weak var scroll: UIScrollView!

    override func viewDidLoad() {
        super.viewDidLoad()

        // setup title
        self.title = "Contact us"

        // setup NavigationBar Color
        self.navigationController?.navigationBar.barTintColor = navigationBarColor

        // setup side Bar
        if(sideBarPosition == "left"){
            self.setupLeftMenuButton()
        }
        else{
            self.setupRightMenuButton()
        }

        // setup page content
        scroll.bounces = false
        phone.text = phoneNumber
        mail.text = emailAdress
        facebook.text = facebookAcount
        instagram.text = instgramAcount
        address.text = adressLocal
        titleContact.text = titleContactus

        let paragraphStyle = NSMutableParagraphStyle()
        paragraphStyle.lineSpacing = 20

        let attrString = NSMutableAttributedString(string: messageContact)
        attrString.addAttribute(NSParagraphStyleAttributeName, value:paragraphStyle, range:NSMakeRange(0, attrString.length))

        message.attributedText = attrString
        message.textAlignment = NSTextAlignment.center
    }

    // setup left menu button icon
    func setupLeftMenuButton() {
        let button = UIButton.init(type: .custom)

        button.setImage(UIImage.init(named: "menuleft.png")?.withRenderingMode(.alwaysTemplate), for: UIControlState.normal)

        button.addTarget(self, action:#selector(leftDrawerButtonPress), for: UIControlEvents.touchUpInside)

        button.frame = CGRect.init(x: 0, y: 0, width: 30, height: 17) //CGRectMake(0, 0, 30, 30)

        button.imageView?.tintColor = iconColor

        let barButton = UIBarButtonItem.init(customView: button)

        self.navigationItem.leftBarButtonItem = barButton
    }

    // setup left menu button action
    func leftDrawerButtonPress(_ sender: AnyObject?) {
        self.evo_drawerController?.toggleDrawerSide(.left, animated: true, completion: nil)
    }

    // setup right menu button icon
    func setupRightMenuButton() {
        let button = UIButton.init(type: .custom)

        button.setImage(UIImage.init(named: "menuright.png")?.withRenderingMode(.alwaysTemplate), for: UIControlState.normal)

        button.addTarget(self, action:#selector(rightDrawerButtonPress), for: UIControlEvents.touchUpInside)

        button.frame = CGRect.init(x: 0, y: 0, width: 30, height: 17) //CGRectMake(0, 0, 30, 30)

        button.imageView?.tintColor = iconColor

        let barButton = UIBarButtonItem.init(customView: button)

        self.navigationItem.rightBarButtonItem = barButton
    }

    // setup right menu button action
    func rightDrawerButtonPress(_ sender: AnyObject?) {
        self.evo_drawerController?.toggleDrawerSide(.right, animated: true, completion: nil)
    }

}

如果您将这些“标签”替换为
ui按钮
,效果会更好。不同的颜色告诉用户这些字符串是可点击的。然后,您可以将所有内容放入一个URL方案,并告诉
UIApplication.shared
打开它们:

@IBAction func dialNumber(_ sender: Any) {
    let phoneURL = URL(string: "tel://1234567890")!
    UIApplication.shared.open(phoneURL, options: [:], completionHandler: nil)
}

@IBAction func sendEmail(_ sender : AnyObject) {
    let emailURL = URL(string: "mailto://user@domain.com")!
    UIApplication.shared.open(emailURL, options: [:], completionHandler: nil)
}

我的代码中有没有你的代码可以替代它?