簡體   English   中英

UITextField可以在UIButton touch上辭退第一響應者

[英]UITextField to resign first responder on UIButton touch

我有一個UITableView,其中一些單元格包含UITextField對象,另一些單元格包含UIButton對象。 當textFields中的一個是第一響應者(顯示鍵盤)時,我無法退出其第一響應者狀態。 當用戶單擊或觸摸另一個單元格中的按鈕時,即使我在“退出時結束”和“編輯結束時”事件上調用[textField resignFirstResponder][textField resignFirstResponder]退出。 單擊按鈕時,我也調用[button becomeFirstResponder] 我想這與對象位於不同單元格中有關。 有任何想法嗎?

編輯:

我要這樣辭職第一響應者:

-(IBAction)endEditing:(id)sender {

    UITextField *textField = (UITextField *)sender;
    [textField resignFirstResponder];
}

在兩個UITextField事件上都調用了endEditing:方法:“退出時結束”和“編輯完成”。

您在哪里調用此[textField resignFirstResponder]並在何處聲明此textField?

正確的方法是聲明一個實例變量:

UITextField *activeTextField;

一旦任何文本字段變為活動狀態,請將其設置為activeTextField。 然后,當您按下按鈕時,請執行[activeTextField resignFirstResponder]; activeTextField = nil; [activeTextField resignFirstResponder]; activeTextField = nil;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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