当我点击keypard的“Next”按钮将光标从TextField移动到TextView时,我有一个问题
第一个,一切都好。但是在第二个中,光标跳转到textView的第二行,然后每次我从TextField单击Next时,TextView中的光标将向下移动一行。
答案 0 :(得分:8)
嗯,问题似乎是一个有趣的问题。在大多数情况下,光标跳转是从一个 TextField 到另一个 TextField 。在这里,您需要将编辑从一个 TextField 跳转到另一个 TextView ,以便您可以尝试此方法:
首先在viewcontroller.h
中为textView和TextField创建插座,比如说
@property (strong, nonatomic) IBOutlet UITextView *textView;
@property (strong, nonatomic) IBOutlet UITextField *textField;
和viewcontroller.m
执行此操作:
-(BOOL) textFieldShouldReturn:(UITextField *)textField
{
if(textField isFirstResponder)
{
[textField resignFirstResponder];
[textView becomeFirstResponder];
}
return YES;
}
编辑: 如果方法无法按预期工作,则会进行更改: “
-(BOOL) textFieldShouldReturn:(UITextField *)textField
{
if(textField isFirstResponder)
{
[textField resignFirstResponder];
[textview performSelector:@selector(becomeFirstResponder) withObject:nil afterDelay:0.0];
}
return YES;
}
(老实说,我不知道这个带有0延迟的performSelector是如何解决这个问题的,但解决方案适用于OP。谢谢Luong Anh的评论。)
答案 1 :(得分:0)
您只需将[yourtextView becomeFirstResponder];
放入textFieldShouldReturn
方法。