2010-12-11 109 views
1

我是iphone新手;在文本框中输入文本后禁用键盘

我所做的是创建一个带有相应文本字段的10个标签。

当我点击文本字段键盘打开。

但它涵盖了底部的4个文本框。

我无法输入文本到这些字段。

我需要当我点击键盘屏幕前面的文本框向上移动。

现在我可以输入这些文本框。

我该如何做到这一点。

谢谢你提前。

回答

1

正如Jumhyn所写,使UIViewController成为所有文本字段的代表。然后从上到下分配0到9的文本字段标签。然后执行以下方法控制器:

- (void)textFieldDidEndEditing:(UITextField *)textField { 
    self.view.bounds = CGRectOffset(self.view.bounds, 0, textField.tag * 50); 
    [[self.view viewWithTag: textField.tag + 1] becomeFirstResponder]; 
} 

的想法是,第一行转移的所有文本字段时,这取决于文本字段的编辑,在第二行您激活下一个文本字段。你将不得不修改代码以更好地适应你的布局,但它应该给你的想法。

+0

感谢q重播,我尝试这个,但没有改变我的看法。 – MaheshBabu 2010-12-11 06:37:33

+0

看看这篇文章,以更好地了解机器:http://cocoawithlove.com/2008/10/sliding-uitextfields-around-to-avoid.html – Costique 2010-12-11 06:41:45

+0

我认为你的代码是正确的我把NSlogs在上面的函数链接。但是这些功能并没有被解雇。我需要做些什么来解决这些事件 – MaheshBabu 2010-12-11 06:57:50

0

作出这样的处理文本的UIViewController浏览量UITextFieldDelegate:

@interface TextFieldViewController : UIViewController <UITextFieldDelegate> { 

然后在textFieldShouldBeginEditing:方法.m文件,添加移动文本字段了代码。例如:

-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField { 
    myTextField3.frame = CGRectMake(myTextField3.frame.origin.x, myTextField3.frame.origin.y - /*whatever you want to subtract from the y value*/, myTextField3.frame.size.width, myTextField3.frame.size.height); 

    myTextField4.frame = CGRectMake(myTextField4.frame.origin.x, myTextField4.frame.origin.y - /*whatever you want to subtract from the y value*/, myTextField4.frame.size.width, myTextField4.frame.size.height); 

    myTextField5.frame = CGRectMake(myTextField5.frame.origin.x, myTextField5.frame.origin.y - /*whatever you want to subtract from the y value*/, myTextField5.frame.size.width, myTextField5.frame.size.height); 

    myTextField6.frame = CGRectMake(myTextField6.frame.origin.x, myTextField6.frame.origin.y - /*whatever you want to subtract from the y value*/, myTextField6.frame.size.width, myTextField6.frame.size.height); 

    return YES; 
} 
+0

如果文本字段被键盘遮挡,文本字段如何获取消息?此外,该方法必须返回YES。 – Costique 2010-12-11 06:34:59

+0

加载视图时,不会显示任何键盘,因此可以轻敲任何文本字段。这会将他所说的所有文本字段(最低四位)移动到任意数量。也只是想知道,使用CGRectOffset而不是重新分配框架有什么好处? – Jumhyn 2010-12-11 06:47:57