簡體   English   中英

手勢關閉鍵盤后,TableView點擊失敗

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM