Как обновить подробный текст UITableViewCell, в соответствии с выбором в модальном представлении? - PullRequest
2 голосов
/ 12 февраля 2012

Я пытаюсь обновить подробный текст UITableViewCell в соответствии с выбором из UIPickerView в модальном представлении, отображаемом при нажатии на ячейку.

Модальное представление появляется, когда пользователь щелкает ячейку в родительском представлении, затем ему предоставляется UIPickerView, и когда он завершает выбор желаемого значения, пользователь нажимает кнопку «Сохранить». После того, как пользователь нажимает кнопку «Сохранить», модальное представление исчезает, и текст метки сведений в ячейке, в которой он щелкнул, обновляется в соответствии со значением, выбранным с помощью UIPickerView.

для модального представления

К сожалению, я не могу придумать хороший, чистый способ сделать это ... Я новичок в программировании на iOS, и я хотел бы знать, есть ли какой-нибудь «традиционный» способ сделать это, я также был бы признателен за любой другой способ достижения этого.

Большое спасибо!

1 Ответ

3 голосов
/ 12 февраля 2012

Если вы знаете indexPath, который вызвал модальное представление, и вам следует, это может быть соблазнительно просто захватить ссылку на ячейку и изменить detailTextLabel прямо так:

UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
cell.detailTextLabel.text = newTextValue;

Но это не лучший вариант, поскольку он не обязательно отражает состояние модели и не обеспечивает анимацию. Лучшее, что можно сделать, - это обновить данные модели, которые поддерживают ваше табличное представление, а затем сделать что-то вроде этого:

NSArray *array = [NSArray arrayWithObject:indexPath];
[self.tableView reloadRowsAtIndexPaths:array withRowAnimation:UITableViewRowAnimationRight];

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

...