2013-05-16 3 views
3

У меня есть 1 проблема, когда я нажмите кнопку «Далее» из keypard для перемещения курсора из TextField в TextViewNavigate от UITextField к UITextView

Первое, все в порядке. Но во втором курсор переместится в строку second textView, а затем каждый раз, когда я нажимаю «Далее» из TextField, курсор в TextView пойдет еще на одну строку.

+0

В чем «следующее» вы говорите? – trojanfoe

+0

hi j0k: я установил ключ «Return», чтобы стать «Next» на клавиатуре TextField –

ответ

8

Ну, вопрос, кажется, интересный. В большинстве случаев прыжок курсора от одного TextField к другому TextField. Здесь нужно прыгать редактирование от одного TextField другого TextView, так что вы можете попробовать этот метод:

Сначала создать выходы для вашего TextView и TextField, в вашем viewcontroller.h, скажет

@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; 
    } 

EDIT: Если метод не работает, как ожидалось, это сделает изменение: '

-(BOOL) textFieldShouldReturn:(UITextField *)textField 
{ 
    if(textField isFirstResponder) 
    { 
     [textField resignFirstResponder]; 
     [textview performSelector:@selector(becomeFirstResponder) withObject:nil afterDelay:0.0]; 
    } 
    return YES; 
} 

(Честно говоря, я понятия не имею, как это performSelector с 0 задержки решить этот вопрос, но решение работало OP. Спасибо за сообщение Luong Anh.)

+0

return 'YES'. true так не какао, как: D –

+0

@ Daij-Djan Done..and не стесняйтесь редактировать. Полезные импровизации всегда приветствуются :-) –

+0

поблагодарить MicRO, я попытался сделать то же самое, но результат не изменился. Один друг сказал мне изменить 1 один ряд и его успех, но я до сих пор не знаю, как результат OK - (BOOL) textFieldShouldReturn: (UITextField *) TextField { если (TextField isFirstResponder) { [TextField resignFirstResponder] ; [textview performSelector: @selector (getFirstResponder) withObject: nil afterDelay: 0.0]; } return TRUE; } –

0

Вам нужно всего лишь поставить [yourtextView becomeFirstResponder]; в ваш метод textFieldShouldReturn.

+0

Я разрешил это с помощью MicRO. В любом случае, спасибо Сарану. –

Смежные вопросы