[英]TableView taps fail after gesture to dismiss keyboard
蘋果公司未能允許用戶解雇鍵盤的失敗給蘋果公司造成了損失。
我已經設法在一些視圖上添加了執行此操作的代碼,但是現在我有了一個帶有TextView和幾個TableView的ViewController。
在使用“敲擊手勢識別器”關閉鍵盤后,表格單元格上的敲擊不會觸發。 代碼如下。
func tap(gesture: UITapGestureRecognizer) {
if gesture.view!.tag != 33 {
self.view.endEditing(true)
titleView.resignFirstResponder()
}
}
這可能是皮帶和括號,但我試圖查看是否可行。 (標簽33是實際的TextView)
該表單元格以通常的方式觸發,並且在沒有輕擊手勢代碼的情況下也可以正常工作。
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
tableView.deselectRowAtIndexPath(indexPath, animated: false)....
單擊按鈕上的IBAction似乎有效,但單元格觸發器無效。
就像這里經常發生的那樣,發布問題的過程會導致自我回答。
如果使用TableView單元水龍頭(我想通常是這樣),則將以下行添加到手勢設置中。
gestureRecognizer.cancelsTouchesInView = false
可以在這里找到更詳細的解決方案。 通過觸摸UITableView的背景來關閉鍵盤
嘿@RobertyBob添加手勢識別器不允許執行selectRowForIndex路徑。
要關閉鍵盤,建議您將代碼添加到控制器文件中。
注意:遵循協議UITextFieldDelegate並設置所有textfields.delegate = self。
-(BOOL) textFieldShouldReturn:(UITextField *)textField{
[textField resignFirstResponder];
return YES;
}
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
[self.view endEditing:YES];
}
另一個最佳方法
1.選擇文本字段
2.轉到屬性檢查器,然后將鍵盤類型選擇為默認,將“返回鍵”選擇為“完成”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.