我试图从表中选择单元格上的内容,在这里我使用didselectrowatindexpath
方法,但它在长时间按下单元格后被调用。
这可能是重复的问题,但我尝试了很多的解决方案,但我的问题没有得到修复这里的代码,这是我正在使用
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return autocompleteUrls.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("AutoCompleteRowIdentifier", forIndexPath: indexPath) as! DrawerTableViewCell
let index = indexPath.row as Int
cell.autoCompleteLabel!.text = autocompleteUrls[index].email!
return cell
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath){
print("You selected cell #\(indexPath.row)!")
print("didSelectRowAtIndexPath")
let selectedCell = autocompleteTableView.cellForRowAtIndexPath(indexPath)! as! DrawerTableViewCell
print("Selected Table Text =\(selectedCell.autoCompleteLabel!.text)")
textEmail.text = selectedCell.autoCompleteLabel!.text
autocompleteTableView.hidden = true
}
而我的viewDidLoad
是
override func viewDidLoad() {
pastUrls = defaults.objectForKey("autoCompleteEmail") as? [String] ?? [String]()
spinnerInitialization()
super.viewDidLoad()
self.hideKeyboardWhenTappedAround()
autocompleteTableView.tableFooterView = UIView()
autocompleteTableView.hidden = true
autocompleteTableView.delegate = self
autocompleteTableView.dataSource = self
textEmail.delegate = self
}
已更新:-点击时隐藏键盘的代码
extension UIViewController {
func hideKeyboardWhenTappedAround() {
let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "dismissKeyboard")
view.addGestureRecognizer(tap)
}
func dismissKeyboard() {
view.endEditing(true)
}}
3条答案
按热度按时间lf5gs5x21#
谢谢Dev.RK这里我使用代码来隐藏键盘,我在
hideKeyboardWhenTappedAround()
@Dev.Rk中使用view.addGestureRecognizer(tap)
方法建议我在view.addGestureRecognizer(tap)
之前添加一行该行是tap.cancelsTouchesInView=false
,这解决了我的疯狂问题z6psavjg2#
你需要解释一下你的结构。我假设你在UIViewController中使用了一个tableView。但是,为什么你的didSelect方法中有下面一行?
而不是
我知道您已经将表视图名称指定为autocompleteTableView,但是该表视图的引用不是来自didSelectRow方法本身吗?
9lowa7mx3#
使UserInteraction对单元格内存在的标签启用。
并验证单元格是否启用了UserInteraction id。