iPhone Table View: Как получить доступ к текстовому полю пользовательского TableViewCell

Я думаю, что это не нормальное поведение Symfony. Вы определили некоторые правила маршрутизации?

Вы также пробовали это:

$this->redirect('module/action?'.http_build_query($paramsArray));
7
задан Gilean 7 June 2009 в 19:20
поделиться

3 ответа

Я предлагаю не использовать пользовательские UITableViewCell s. Раньше я делал это по-твоему, но есть способ лучше. Используйте свойство accessoryView для UITableViewCell , которому можно назначить произвольное представление, например UITextField или UISwitch . Он отображается точно так же, как и в приложении «Настройки».

Затем, когда вам нужно получить к нему доступ, просто используйте

NSString *text = ((UITextField *)cell.accessoryView).text;

Однако вы должны быть осторожны с настройкой ячеек и доступом к их значениям. Если какая-либо ячейка выходит за пределы экрана, она будет удалена, и вы не сможете получить доступ к текстовому полю. При настройке ячейки вы хотите сделать следующее:

cell.accessoryView = nil;  //Make sure any old accessory view isn't there.
if (/*cell needs text field*/) {
    UITextField *textField = [[[UITextField alloc] initWithFrame:frame] autorelease];
    textField.text = savedValue;
    cell.accessoryView = textField;
    [textField addTarget:self action:@selector(textChanged:) forControlEvents:UIControlEventValueChanged];
}

...

- (void) textChanged:(UITextField *)source {
    self.savedValue = source.text;
}
15
ответ дан 6 December 2019 в 14:09
поделиться

Если вы не следуете совету Эда, вам, вероятно, лучше всего сохранить текстовое представление в настраиваемой ячейке и добавить свойство для доступа к представлению.

0
ответ дан 6 December 2019 в 14:09
поделиться

Вы также можете настроить в своих пользовательских ячейках ссылку на контроллер представления более высокого уровня и отправлять ему уведомления, когда пользователь обновляет в них значения. По сути, скопируйте шаблон делегата, используемый многими объектами библиотеки в UIKit.

0
ответ дан 6 December 2019 в 14:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: