2012-06-14 3 views
0

У меня возникли некоторые проблемы. У меня есть UITextView, который закрывается клавиатурой, когда я нажимаю внутрь, поэтому я пытаюсь сделать это, это UIScrollView, который позволяет мне видеть, что я пишу в TextView ...Проблема с UIScrollView и UIKeyboard

Это мой код до сих пор:

-(void)keyboardWillShow { 
    if (self.view.frame.origin.y >= 0) 
    { 
     [self setViewMovedUp:YES]; 
    } 
    else if (self.view.frame.origin.y < 0) 
    { 
     [self setViewMovedUp:NO]; 
    } 
} 

-(void)keyboardWillHide { 
    if (self.view.frame.origin.y >= 0) 
    { 
     [self setViewMovedUp:YES]; 
    } 
    else if (self.view.frame.origin.y < 0) 
    { 
     [self setViewMovedUp:NO]; 
    } 
} 

-(void)setViewMovedUp:(BOOL)movedUp 
{ 
    [UIView animateWithDuration:.3 animations:^{ 
     CGRect rect = self.view.frame; 
     if (movedUp) 
     { 
      scrollView.contentSize = CGSizeZero; 
      scrollView.frame = CGRectMake(0, 80, 320, 308); 
//   rect.origin.y -= kOFFSET_FOR_KEYBOARD; 
//   rect.size.height += kOFFSET_FOR_KEYBOARD; 
     } 
     else 
     { 
      scrollView.contentSize = CGSizeZero; 
      scrollView.frame = CGRectMake(0, 190, 320, 308); 
//   rect.origin.y += kOFFSET_FOR_KEYBOARD; 
//   rect.size.height -= kOFFSET_FOR_KEYBOARD; 
     } 
     self.view.frame = rect; 
    }]; 
} 

- (void)viewWillDisappear:(BOOL)animated 
{ 
    [[NSNotificationCenter defaultCenter] removeObserver:self 
                name:UIKeyboardWillShowNotification 
                object:nil]; 

    [[NSNotificationCenter defaultCenter] removeObserver:self 
                name:UIKeyboardWillHideNotification 
                object:nil]; 
} 

проблема заключается в том, что код не работает должным образом, когда я постучите TextView представления, вместо того, чтобы идти вверх, он идет вниз ...

Любые идеи ?

ответ

0

UITextView is уже вид прокрутки. Он должен автоматически прокручиваться, когда вы вводите больше текста, чем видно. Кроме того, пользователь может прокручивать текст внутри себя в любое время.

+0

Нет, вы не поняли вопрос, моя проблема, что клавиатура распускать UITextView когда называется ... И я wan't пролистывать все UIView для что клавиатура не освобождает мой TextView ... – Marnerk

+0

Вы имеете в виду клавиатуру ** покрывает ** ваш текст? Для клавиатуры нельзя отклонить текстовое представление, только наоборот: P. – Mundi

0

Я получил ответ на все мои проблемы!

- (void)textViewDidBeginEditing:(UITextView *)textView{ 

    [self scrollViewAsd:130]; 

} 

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

    [self scrollViewAsd:0]; 

} 

- (void)scrollViewAsd:(float) inset 
{ 

    [UIView animateWithDuration:.3 animations:^{ 
     scrollView.contentInset = UIEdgeInsetsMake(0, 0, inset, 0); 
     scrollView.contentOffset = CGPointMake(0, inset); 

    }]; 
} 
Смежные вопросы