У меня есть форма с некоторыми текстовыми полями, переключателями и сборщиками. Все работает нормально, за исключением того, что когда я ввожу что-то в текстовые поля и нажимаю кнопку «Отмена» и снова открываю форму, ввод остается. Просто не могу понять почему.
Теперь приложение, над которым я работаю, огромно. Поэтому не могу поделиться всем, но вот как выглядит мой метод btnCancelClicked:
- (IBAction)btnCancelClicked:(id)sender {
if(onCompletion) {
onCompletion(self.myView, YES);
}
}
Какова логика реализации кнопки отмены? Каков пошаговый процесс, чтобы закрыть представление и не сохранять пользовательский ввод? Я хотел бы понять, в чем может быть проблема. Я ценю любую помощь.
Изменить: [self.myView setNeedsDisplay];
или [self.myView setNeedsLayout];
не помогают.
Edit2: TextViews также работают правильно, а это означает, что когда я что-то набираю, а затем нажимаю кнопку "Отмена" и снова открываю представление, оно находится в исходном состоянии. Единственная проблема связана с TextFields. Должен ли я сделать что-то другое для них?
onCompletion
. Я думаю, когда вы представляете представление, есть некоторая логика, которая взаимодействует с отменойonCompletion
, так что представление каким-то образом сохраняется в памяти - может быть, намеренно вернуться позже после отмены? - и представил снова. - person skaak   schedule 02.12.2020