我是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
提前致谢.
我只想从移动联系人处获取姓名和电子邮件并打印出来.我正在使用以下代码来完成此任务.
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
注意:我不想检查电子邮件是否存在,或者是否有效.
我正在进行二维码扫描.使用以下快速代码,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) 我想在我的应用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中.有人能告诉我应该使用什么代码吗?提前致谢.