2010-04-16 61 views
5

我有一个要求,我在视图中有一个文本框。当我想通过切换选项卡(TabBased Application)来打开视图时,第一次加载视图时会出现键盘,因为我调用了loadview方法。但是当我切换到tab2并再次切换到tab1时,不会调用加载视图。我想每次打开tab1页面时都会出现键盘。如何在视图已经加载时显示键盘来打开视图?

回答

10

使用-viewWillAppear:在您的视图控制器发送您的文本字段-becomeFirstResponder消息,例如:

- (void) viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 
    [myTextField becomeFirstResponder]; 
} 
+0

我也做了同样的事情......但viewWillAppear中的方法不叫每次...... 代码如下: - (void)viewWillAppear:(BOOL)animated {super viewWillAppear:animated]; \t [searchForProduct becomeFirstResponder]; } 请帮忙 – 2010-04-16 07:01:18

+1

你的代码应该工作,假设所有的对象都被实例化和连接起来。尝试添加一个'NSLog'语句来验证'-viewWillAppear:'被调用。另外请确保'searchForProduct'不是'nil'和/或如果您为视图使用Interface Builder,则它正确连接。 – 2010-04-16 07:34:49

+0

searchForProduct没有发布..它包含内存分配...问题是viewWillAppear方法永远不会被调用... – 2010-04-16 07:45:04

相关问题