2013-09-19 4 views
6

Этого кода:UITextView рисунок неправильно на прошивке 7

UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, width, 80.0f)]; 
[textView setText:@"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."]; 
[textView setEditable:NO]; 
[self addSubview:textView]; 
[textView setScrollEnabled:NO]; 
[textView setText:[textView.text stringByAppendingFormat:@"\nHello!"]]; 
[textView setScrollEnabled:YES]; 

заставит UITextView рисовать неправильно в нижней части. Кажется, что iOS 7 не увеличивает contentSize, когда scrollEnabled является ложным. Однако этот код будет работать отлично в iOS 6. Есть ли что-то, что я могу сделать, чтобы исправить это? Мне нужно, чтобы прокрутка была отключена, иначе она будет прокручиваться назад, когда текст будет добавлен, чего я не хочу.

+0

попытаться установитьContentInset, [textView setContentInset: UIEdgeInsetsMake (-45, 0, 5,0)]; – karthika

+0

UITextView не должен прокручивать вверх, добавляя текст, даже без отключения scrollEnabled к NO. Вы уверены, что что-то еще не вызывает такого поведения? – Keller

+0

@ Keller да, я уверен, что я не делаю ничего другого. Я использую метод setText. Есть ли другой способ? – RileyE

ответ

1

Ran в ту же проблему. Вот уродливый временный хак FWIW:

NSAttributedString* text = textView.attributedText; 
_textView.text = @""; 
_textView.attributedText = text; 

Это похоже на изменение размера и перерисовку.

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