Второй if
должен быть else if
, потому что он должен выполняться, только если первый не выполняет (выбранный индекс не может быть и 0, и 2).
То, что вы пытаетесь сделать, зависит от того, как вы определили beoordeling
.Я предлагаю иметь его в качестве переменной экземпляра, возможно, даже IBOutlet
.Выпуск в вашем классе dealloc
.Затем в первом предложении if
напишите
if (!beoordeling) {
beoordeling = [[UITextField alloc] init];
// Other setup
}
[scrollView addSubview:beoordeling];
Я не совсем понимаю, почему вы проверяете тег, но для удаления во втором if
просто вызовитеremoveFromSubview
.
Все ли сегментированные элементы управления вызывают одинаковое поведение?Если у вас есть только один beorrdeling
, для которого вы устанавливаете тег, вам не нужно беспокоиться о проверке тега.Просто добавьте / удалите его, используя removeFromSubview
.Если у вас столько текстовых полей, сколько сегментированных элементов управления, возможно, KVC будет именно тем, что вам нужно.Если теги ваших сегментированных элементов управления идут от 0 до 11, у вас могут быть beoordeling0
, beoordeling1
, beoordeling2
и т. Д.Затем, чтобы получить тот, который вы хотите, используйте что-то вроде этого:
beoordeling = (UITextField *)[self valueForKey:[NSString stringWithFormat:@"beoordeling%d", sender.tag]];