小编Tes*_*ter的帖子

IOS - 如何通过触摸视图外的任何位置来隐藏视图

我是IOS编程的新手,我在单击按钮时显示视图,使用按钮方法中的以下代码.

 @IBAction func moreButton(_ sender: Any)
    {
        self.helpView.isHidden = false
    }
Run Code Online (Sandbox Code Playgroud)

最初,在隐藏视图的方法中将self.helpView.isHidden其设置为true viewDidLoad.现在,我如何通过触摸视图外的任何位置来关闭此视图.从研究中我发现,可以通过创建适合整个viewController的透明按钮来完成.那么通过点击按钮,我们可以让视图解散.谁能给我swift 3中的代码来创建这样的按钮.

或者,如果有任何其他更好的方法来隐藏视图,欢迎它.

我正在使用Xcode 8.2,swift 3.0

提前致谢.

uiview ios swift

18
推荐指数
3
解决办法
3万
查看次数

IOS - CNContactPickerViewController应该只显示有电子邮件的名称?

我只想从移动联系人处获取姓名和电子邮件并打印出来.我正在使用以下代码来完成此任务.

import UIKit
import ContactsUI
class ViewController: UIViewController, CNContactPickerDelegate{

        override func viewDidLoad() {
            super.viewDidLoad()

        }

        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()

        }


        @IBAction func button(_ sender: Any)
        {
            let contactPicker = CNContactPickerViewController()
            contactPicker.delegate = self
            contactPicker.displayedPropertyKeys =
                [CNContactNicknameKey
                  ,CNContactEmailAddressesKey]

            self.present(contactPicker, animated: true, completion: nil)

        }
        func contactPicker(_ picker: CNContactPickerViewController, didSelect contact: CNContact)
        {
            if let emailValue : CNLabeledValue = contact.emailAddresses.first
            {
                print(emailValue.value as String)
            }

            print(contact.givenName + " " + contact.familyName)

        }
    }
Run Code Online (Sandbox Code Playgroud)

它打印我在CNContactPickerViewController中选择的名称和电子邮件,即使所选名称没有电子邮件,它也只打印名称.现在,我想要的是,我不想在CNContactPickerViewController中显示没有电子邮件的名称.只应显示包含电子邮件的名称.我怎样才能做到这一点 ?

使用Xcode 8.2,Swift 3,IOS 10

注意:我不想检查电子邮件是否存在,或者是否有效.

email contacts ios swift

5
推荐指数
1
解决办法
2674
查看次数

如何使用swift从VCard中检索数据

我正在进行二维码扫描.使用以下快速代码,QR代码中的数据将在控制台中打印出来.

import UIKit
import AVFoundation

class ViewController: UIViewController, AVCaptureMetadataOutputObjectsDelegate
{
    let session = AVCaptureSession()
    @IBOutlet weak var square: UIImageView!
    var video = AVCaptureVideoPreviewLayer()

    override func viewDidLoad()
    {

        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.


    }

    func captureOutput(_ captureOutput: AVCaptureOutput!, didOutputMetadataObjects metadataObjects: [Any]!, from connection: AVCaptureConnection!) {

        if metadataObjects != nil && metadataObjects.count != 0
        {
            if let object = metadataObjects[0] as? AVMetadataMachineReadableCodeObject
            {
                if object.type == AVMetadataObjectTypeQRCode
                {
                    print(object.stringValue)

                    let alert = UIAlertController(title: …
Run Code Online (Sandbox Code Playgroud)

xcode vcf-vcard qr-code swift3

3
推荐指数
1
解决办法
2155
查看次数

在IOS中通过移动联系人获取人名和号码

我想在我的应用https://www.youtube.com/watch?v=HKCXwm7r838中完成此过程.但本教程中的代码适用于较旧的IOS版本,我使用的是IOS 10,Xcode 8.2,Swift 3.0,所以它不适用于我.我尝试了以下代码来显示联系人列表.有用.

import UIKit
import ContactsUI
class ViewController: UIViewController, CNContactPickerDelegate{

    @IBOutlet weak var textLabel: UILabel!
    override func viewDidLoad()
    {
        super.viewDidLoad()

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()

    }
    func addExistingContact()
    {

    }
    func contactPicker(picker: CNContactPickerViewController, didSelectContact contacts: CNContact)
    {
       // print(contacts.givenName)

    }

    @IBAction func button(_ sender: Any)
    {
        let contactPicker = CNContactPickerViewController()
        contactPicker.delegate = self
        contactPicker.displayedPropertyKeys =
            [CNContactGivenNameKey
                , CNContactPhoneNumbersKey]
        self.present(contactPicker, animated: true, completion: nil)
    }

    func contactPickerDidCancel(picker: CNContactPickerViewController)
    {
        print("Cancel Contact Picker")
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,我想要的是,当我从列表中选择任何联系人姓名时,联系人列表必须立即消失,然后所选的名称和号码必须显示在viewController中的两个标签/ textField中.有人能告诉我应该使用什么代码吗?提前致谢.

contacts ios swift

2
推荐指数
1
解决办法
2148
查看次数

标签 统计

ios ×3

swift ×3

contacts ×2

email ×1

qr-code ×1

swift3 ×1

uiview ×1

vcf-vcard ×1

xcode ×1