Редактировать UIViewController - PullRequest
1 голос
/ 12 июня 2011

Я не могу найти информацию о том, что должно быть простым вопросом.У меня есть таблица, которая содержит ряд ячеек.Когда вы нажимаете на ячейку, она подробно показывает информацию об этом объекте.Я знаю, что есть кнопка, которая помещает все данные на экран в режиме EDIT.Любые учебные пособия или советы, как это сделать (правильно / с лучшими практиками)?

Просто чтобы было ясно, это для iPhone / Objective-C / Cocoa.

Спасибо,

РЕДАКТИРОВАТЬ 1

Извините.Я знаю, как поставить кнопку там.Но как сделать метки редактируемыми?

Ответы [ 3 ]

2 голосов
/ 12 июня 2011

Вы путаете два состояния:

  1. Перевод tableView в режим редактирования - для удаления или перемещения ячеек в таблице независимо от содержимого ячейки. Это контролируется свойством UITableView.editing. и

  2. Перевод tableViewCell в какое-то состояние редактирования. Официального состояния редактирования для ячейки не существует (т. Е. Не существует единого флага для установки, чтобы все метки UILabel в ячейке были доступны для редактирования в текстовые поля.) Вам необходимо реализовать всю эту логику самостоятельно. Если вы используете .xibs, хорошей практикой здесь будет иметь другой .xib для режима редактирования вашей ячейки.

1 голос
/ 12 июня 2011

Вы не можете иметь редактируемые ярлыки. Однако при нажатии кнопки можно заменить метку текстовым полем, а затем обновить метку после ее завершения.

Один из способов сделать это заключается в следующем. Создайте текстовое поле в том же месте, что и метка, и первоначально установите textField.hidden = YES;. Затем реализуйте что-то по следующим направлениям:

-(IBAction)editMyCell:(id)sender {
  textField.text = cellLabel.text;
  cellLabel.hidden = YES;
  textField.hidden = NO;
  [textField becomeFirstResponder];
}

и после завершения редактирования восстановите с помощью

-(void)textFieldDidEndEditing:(UITextField *)textField {
  cellLabel.text = textField.text;
  textField.hidden = YES;
  cellLabel.hidden = NO;
  [textField resignFirstResponder];
}

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

0 голосов
/ 12 июня 2011

В базовом SDK нет ничего, связанного с редактированием UIViewController.Обычно такая логика определяется программистом.Но я мог видеть, как кто-то пишет функцию, которая превращает все ваши UILabels в UIView в UITextViews, чтобы пользователь мог редактировать текст.

Там может быть пример кода, но мне он кажется нестандартным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...