0

enter image description here如何解僱鍵盤時,有沒有文本框,以resignFirstResponder

在以下情況下點擊鉛筆

原來的工業區1文本通過使becomeFirstResponder和鍵盤打開要編​​輯,我想關閉鍵盤上點擊「空行」或iz2。

我該怎麼做?

我嘗試添加到cellView

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ 
    [self dismissKeyboard]; 
} 

,但它沒有工作

回答

1

你可以使用這個隱藏鍵盤:

[self.view endEditing:YES]; 

編輯

在可以撥打的地方添加手勢。

- (void)showKeyboard 
{ 
    UITapGestureRecognizer *gesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hide)]; 
    [self.tableView addGestureRecognizer:gesture]; 
} 

和隱藏方法將其刪除,

- (void)hide 
{ 
    [self.view endEditing:YES]; 
    [self.view removeGestureRecognizer:self.view.gestureRecognizers[0]]; 
} 
+0

請看到我的更新,嘗試過和沒有工作 –

+0

請看看我的編輯答案。 – caglar

0

只要致電:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    [self.view endEditing:YES]; 
} 

或者:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    NSIndexPath *indexPathForYourCell = [NSIndexPath indexPathForRow:0 inSection:0]; 
    YourCustomCell *cell = [self tableView:self.tableView cellForRowAtIndexPath:indexPathForYourCell]; 

    [cell.iz1TextField resignFirstResponder]; 
} 
+0

試過了,它沒有工作 –

+0

上面的工作,可能是你的 - (void)touchesBegan:(NSSet *)觸及withEvent:(UIEvent *)事件根本沒有被調用? – Volker

+0

@liva是否可以在'touchesBegan:'中設置一個斷點來查看它是否被調用? – RaffAl

0

我的最終解決方案是類似的東西是什麼@caglar這裏提出的是我寫的代碼tableviewcontroller

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] 
            initWithTarget:self 
            action:@selector(dismissKeyboard)]; 
    [self.view addGestureRecognizer:tap]; 
} 

-(void)dismissKeyboard 
{ 
    [self.view endEditing:YES]; 
} 
相關問題