2012-01-16 3 views
0

Я получаю одно текстовое поле и два текстовых элемента ... при написании чего-то в 1 сеансе клавиатуры клавиатура всплывает ... но когда я хочу переключиться на другой элемент управления, моя клавиатура не " Позвольте мне написать, поскольку он охватывает весь взгляд ... hw я могу решить свою проблему?клавиатура не исчезает из вида-iphone

+0

Вы хотите сказать, что клавиатура закрывает ваше текстовое поле? Это твоя проблема? –

+0

Да. Это также проблема –

+0

@khushbu, вам нужно сначала изучить основы объектива c.Use [this] (http://iphonesdkbasics.blogspot.com/2010/01/disabling-keyboard-on-uitextfield.html), чтобы отключить клавиатуру для uitextfield и принять помощь сенсорного события, чтобы скрыть клавиатуру для uitextview, поскольку она не отключается с помощью ключа возврата. Также попробуйте [это, я думаю, это то, что вам понравится.] (http: // stackoverflow. com/questions/1126726/how-to-make-a-uitextfield-move-up-when-keyboard-is-present) – Sarah

ответ

0

Используйте делегируют функции, предусмотренные UITextView и uitextfiled ....

+0

Я пробовал одну вещь ... Я взял кнопку на весь мой взгляд ... Итак, всякий раз, когда я нажимаю какую-либо часть своего вида, клавиатура исчезнет ... Я использовал " self.resignResponder "... но не работает ..... можете ли вы предложить мне другой путь? –

+1

должно быть [textField resignFirstResponder] – vishy

+0

вместо self.resign responder вы должны уйти с ответа от пользователя uitextfield или из uitextview. или проверить любой учебник, используя uitextfield или textview на основе ios .. – Ballu

0
- (void) animateTextField: (UITextField*) textField up: (BOOL) up 
{ 
    const int movementDistance = 150; // tweak as needed 
    const float movementDuration = 0.3f; // tweak as needed 

    int movement = (up ? -movementDistance : movementDistance); 

    [UIView beginAnimations: @"anim" context: nil]; 
    [UIView setAnimationBeginsFromCurrentState: YES]; 
    [UIView setAnimationDuration: movementDuration]; 
    self.view.frame = CGRectOffset(self.view.frame, 0, movement); 
    [UIView commitAnimations]; 
} 

- (BOOL)textViewShouldBeginEditing:(UITextView *)textView{ 

     [self animateTextField: textField up: YES]; 
} 
- (void)textViewDidEndEditing:(UITextView *)textView{ 
      [self animateTextField: textField up: NO]; 

} 
1

вы должны переместить свой вид вверх, так что клавиатура оленьей кожи покрытия TextField/TextView. что-то вроде этого ...

- (void)textFieldDidBeginEditing:(UITextField *)textField 
{ 
    if (textField == *textFieldName*) 
    { 
     [UIView beginAnimations:nil context:NULL]; 
     [UIView setAnimationDelegate:self]; 
     [UIView setAnimationDuration:0.5]; 
     [UIView setAnimationBeginsFromCurrentState:YES]; 
     self.view.frame = CGRectMake(self.view.frame.origin.x, (self.view.frame.origin.y - 65.0), self.view.frame.size.width, self.view.frame.size.height); 
     [UIView commitAnimations]; 

    } 
} 

- (void)textFieldDidEndEditing:(UITextField *)textField 
{ 
    if (textField == *textFieldName*) 
    { 
     [UIView beginAnimations:nil context:NULL]; 
     [UIView setAnimationDelegate:self]; 
     [UIView setAnimationDuration:0.5]; 
     [UIView setAnimationBeginsFromCurrentState:YES]; 
     self.view.frame = CGRectMake(self.view.frame.origin.x, (self.view.frame.origin.y + 65.0), self.view.frame.size.width, self.view.frame.size.height); 
     [UIView commitAnimations]; 
    } 
} 

и для использования TextView:

- (void)textViewDidBeginEditing:(UITextView *)textView 

и

- (void)textViewDidEndEditing:(UITextView *)textView 
0

вы можете сместить весь ваш взгляд вверх или просто переложить управления (текстовое поле и текстовое представление) вверх или сделать свой просмотр прокручиваемым, чтобы пользователь мог прокручивать вниз, пока клавиатура видна.

+0

Но клавиатура закрывает второй контроллер ... –

+0

, даже если вы можете добавить все свои элементы управления в прокрутку, поэтому, если пользователь прокручивает экран с помощью клавиатуры видимый, он сможет видеть другие элементы управления –

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