【发布时间】:2017-08-24 04:56:45
【问题描述】:
我对 UITapGestureRecognizer 有一个看法
我想在点击视图时显示 uidatepicker
我该怎么做?
提前致谢
【问题讨论】:
-
你试过了吗?你能展示你制作的代码吗
标签: ios iphone swift swift3 datepicker
我对 UITapGestureRecognizer 有一个看法
我想在点击视图时显示 uidatepicker
我该怎么做?
提前致谢
【问题讨论】:
标签: ios iphone swift swift3 datepicker
我不确定你到底想要什么,但如果你只是有这样的东西呢?
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var datePicker: UIDatePicker!
@IBAction func viewTapped(sender: Any) { // link gesture recogniser here
datePicker.isHidden = false
}
override func viewDidLoad() {
datePicker.isHidden = true // or set hidden checkbox to true in the picker's attributes inspector
}
}
【讨论】:
只需在触摸操作中声明您的选择器数据源。
// in viewDidload method
let gesture = UITapGestureRecognizer(target: self, action: #selector (self.touchAction (_:)))
self.view.addGestureRecognizer(gesture) // could be your custom view also
// for Swift 3
func touchAction(_ sender:UITapGestureRecognizer){
// datasource
self.pickerData = ["data1","data2" .. ect]
if pickerData != nil{
self.picker.delegate = self
self.picker.dataSource = self
}
}
注意:您的控制器类应确认 UIPickerViewDelegate, UIPickerViewDataSource 以使用选择器委托。
【讨论】:
#selector (self.touchAction (_:)和动作名称不同func someAction(_ sender:UITapGestureRecognizer){
viewdidload中的代表,那么数据源不能为nil并且代表调用每次。