2012-11-05 145 views

回答

7

在Cocoa for Mac OS X中,您有下一个响应者链,您可以在其中向文本字段询问下一个控件应该有哪些焦点。这是使文本字段之间的tab键工作的原因。但是由于iPhone没有键盘,只能触摸,这一概念在向Cocoa Touch过渡之后还没有存活下来。

这可以反正很容易做到,有两个假设:

所有“tabbable” UITextFields在同一个父视图。 他们的“tab-order”由标签属性定义。 假设这可以覆盖textFieldShouldReturn:就象这样:

-(BOOL)textFieldShouldReturn:(UITextField*)textField; 
{ 
NSInteger nextTag = textField.tag + 1; 
    // Try to find next responder 
UIResponder* nextResponder = [textField.superview viewWithTag:nextTag]; 
if (nextResponder) { 
    // Found next responder, so set it. 
    [nextResponder becomeFirstResponder]; 
} else { 
// Not found, so remove keyboard. 
    [textField resignFirstResponder]; 
} 
return NO; // We do not want UITextField to insert line-breaks. 
} 

添加一些更多的代码,并假设可以忽略不计为好。

3

在回调的下一个按钮,使用Next按钮,

[self.TextBox2 becomeFirstResponder]; 

简单!

+0

我的意思是我在TextBox1的IBAction中选择了什么事件类型 –

相关问题