Если я запускаю пустое приложение (приложение с одним представлением) и просто помещаю UITextField в NIB, все в порядке: клавиатура появится после того, как я нажму UITextField в симуляторе.
Если я запускаю приложение, над которым работаю в данный момент, клавиатура не будет отображаться (как если бы я включил симуляцию аппаратной клавиатуры), и я вообще не смогу ввести текст. Однако, если я запустил то же приложение на своем телефоне, клавиатура отобразится, и я смогу ввести текст как обычно.
Я уверен, что это связано с моим кодом, так как пустое приложение покажет клавиатуру на симуляторе. Моя установка выглядит следующим образом: у меня есть RootViewController, а затем добавить еще один ViewController. В этом ViewController я добавляю еще один ViewController (где я хочу, чтобы был UITextField) примерно так:
if (self.addNotebook == nil) {
NSLog(@"create...");
AddNotebookViewController *avc = [[AddNotebookViewController alloc]
initWithNibName:nil bundle:nil];
self.addNotebook = avc;
[avc release];
}
[self.view addSubview:addNotebook.view];
В этом новом ViewController почти ничего нет:
#import <Foundation/Foundation.h>
@interface AddNotebookViewController : UIViewController <UITextFieldDelegate>
{
}
...
xib настроен следующим образом:
Один простой UITextField
Класс владельца файла = AddNotebookViewController
Представление выхода владельца файла = представление
Делегат текстового поля = Владелец файла
Так что я не понимаю, почему клавиатура не появляется в симуляторе, в то время как это происходит на моем телефоне ... любые предложения будут очень приветствоваться!