UITextField для iOS и Sparrow Framework
Мне нужно, чтобы UITextField программно добавлялся в UIView. Мне даже не нужно, чтобы UITextField был видимым, только клавиатура, так как я собираюсь обработать аспект текстового поля в другом случае. Однако клавиатура не появляется вообще.
У меня есть это:
UITextField* field = [[UITextField alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
SPView* view = (SPView*)[SPStage mainStage].nativeView; // I think I don't need this line I believe, since I don't need it visible, but this is my UIView (SPView inherits from UIView)
[view addSubview:field];
[field becomeFirstResponder];
Нужно ли мне что-то еще, чтобы показать родную клавиатуру iOS?
Почему не может быть клавиатура? Я что-то упустил?
1 ответ
Нашел решение. Я вызывал код в конструкторе.
В то время как все остальное в Sparrow может быть сделано в конструкторе, nativeView не назначается до тех пор, пока все не будет построено, поэтому представление давало (null)
на NSLog(@"%@", view);
Сделан отложенный вызов кода (ожидание 0,2 секунды перед его вызовом), и теперь он работает отлично.