2011-01-03 2 views
0

Im пытается достичь чего-то похожего на Яблоки Contact.app.Редактирование UITextField в UITableView (включение/выключение ввода)?

Когда пользователь нажимает «Редактировать» в подробном представлении, текстовые поля должны включаться, а когда пользователь нажимает «Готово»/«Сохранить», входные UITextFields должны быть отключены.

Поэтому я добавил:

-(BOOL) textFieldShouldBeginEditing:(UITextField *)textField { 
    return [(UITableView*)self.view isEditing]; 
} 

И установить контроллер быть делегатом для каждого текстового поля, но если пользователи нажимают Done/Save во время редактирования происходит клавиатура остается открытой, и пользователь может редактировать строка. Как я могу убедиться, что этого не произойдет?

ответ

2

решаемого путем установки делегата от текстового поля в ячейку, и реализации этих методов.

- (void)setEditing:(BOOL)editing animated:(BOOL)animated { 
    [super setEditing:editing animated:animated]; 
    if (!editing) 
     [textField resignFirstResponder]; 
} 

- (BOOL) textFieldShouldBeginEditing:(UITextField *)textField { 
    return [self isEditing]; 
} 
0

Вы обработали только начало редактирования ... вы должны записать, какой uitextbox является первым ответчиком, а затем, нажав кнопку сохранения, вы должны вызвать resignFirstResponder на texbox.

Надеется, что это помогает, Moszi

+0

Да, конечно, вопрос состоял в том, как это сделать – Erik

Смежные вопросы