iOS UITextField, добавленный через код, не имеет курсора - PullRequest
0 голосов
/ 09 марта 2012

У меня есть Viewcontroller и я добавляю поле UIText в качестве Subview. Все работает так, как ожидалось, только курсор отсутствует в текстовом поле.

Я использую следующий код для создания и добавления UITextField:

UITextField *funktionField = [[UITextField alloc] initWithFrame:CGRectMake(200, 10+ line *38, myView.frame.size.width - 210, 31)];
funktionField.backgroundColor = [UIColor colorWithWhite:1.0 alpha:1.0];
funktionField.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleRightMargin;
funktionField.tag = line;
funktionField.delegate = self;
funktionField.userInteractionEnabled = YES;
funktionField.borderStyle = UITextBorderStyleRoundedRect;
funktionField.clearButtonMode = UITextFieldViewModeWhileEditing;
[funktionField setEnabled:YES];
[myView addSubview:funktionField];
[funktionField becomeFirstResponder];

как сказано в начале. Появляется клавиатура, и текст можно редактировать. Дельгейты вызываются, но курсора нет.

Я что-то упустил? Когда я добавляю текстовое поле через UI Builder, курсор находится там.

С уважением, Эстарту

Ответы [ 2 ]

0 голосов
/ 12 ноября 2013

Я пропустил ту же проблему.Я обнаружил, что это потому, что при запуске приложения появляется окно с предупреждением ввода.В обработчике делегата оповещения я не вызываю dismissWithClickedButtonIndex, поэтому курсор фокуса удерживается оповещением.и в любых других местах ввода моего приложения курсор не будет отображаться.Я решил это, добавив [alertView dismissWithClickedButtonIndex: 0 animated: NO];каждому обработчику кнопки окна предупреждения ввода.

0 голосов
/ 09 марта 2012

Попробуйте это:

[funktionField selectAll:nil];
...