2014-12-15 6 views
2

У меня есть два uitextview в раскадровке. Мне нужно, когда пользователь вводит что-то в одном текстовом виде, должен показывать одни и те же данные в другом текстовом виде, также, когда текст находится ниже области текстового поля, он должен автоматически прокручивать вверх, показывая последнюю строку. Это мой код в UITextView делегатомuitextview scrollRangeToVisible прокручивать сверху вниз каждый раз

<code> 
-(void)textViewDidChange:(UITextView *)textView 
{ 
    self.textview2.text = textview.text; 
    NSRange selection = self.textview2.selectedRange; 

     [self.textview2 scrollRangeToVisible:NSMakeRange([self.textview2.text length], 0)];]; 

} 
</code> 

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

ответ

0

Оба TextView должны иметь ViewController в качестве делегата:

 self.textView1.delegate = self; 
    self.textview2.delegate = self; 

Затем реализовать эти методы следующим образом:

-(void)scrollViewDidScroll:(UIScrollView *)scrollView 
{ 
if ([scrollView isEqual:self.textview2]) 
{ 
    [self.textview2 scrollRangeToVisible:NSMakeRange([self.textview2.text length], 0)]; 

} 
} 

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

if ([textView isEqual:self.textView1]) 
{ 


self.textview2.text = textView.text; 

[self.textview2 scrollRangeToVisible:NSMakeRange([self.textview2.text length], 0)]; 
} 

} 

Проблема путь TextView работы, когда вы делаете это: я. textview2.text = textView.text; текст в textView - первая точка в ноль, (нет текста, contentOffSet указывает на 0.0), затем указывает новый текст. Содержание меняется между нулем и большим контентом (на самом деле все больше и больше). textContainer и textStorage в текстовом виде отвечают за эту работу ...

+0

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

+0

@ user1495387 Попробуйте этот ответ, пожалуйста. –

+0

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

1

Попробуйте этот чувак

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

    self.textview2.text = textview.text; 

    [self.textview2 scrollRectToVisible:CGRectMake(0, self.textview2.contentSize.height, self.textview2.contentSize.width, CGFLOAT_MAX) 
           animated:NO]; 
} 
Смежные вопросы