在文本字段中输入文本后禁用键盘

时间:2010-12-11 05:53:53

标签: iphone

我是iphone的新手;

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

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

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

我无法在这些字段中输入文字。

当我点击键盘屏幕前方的文本字段时,我需要。

现在我可以输入这些文本字段了。

我怎么能这样做。

提前感谢你。

2 个答案:

答案 0 :(得分: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];
}

这个想法是第一行将所有文本字段向上移动,具体取决于编辑的文本字段,在第二行中激活下一个文本字段。您将不得不修改代码以更好地适应您的布局,但它应该为您提供想法。

答案 1 :(得分:0)

使处理文本视图的UIViewController成为UITextFieldDelegate:

@interface TextFieldViewController : UIViewController <UITextFieldDelegate> {

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

-(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;
}
相关问题