2012-04-04 3 views
1

Я изо всех сил пытаюсь заставить UIScrollView работать.Как настроить кадр UITextView в UIScrollview

У меня есть UIScrollView с UIImageView и UITextView, так как это подвид.

UIScrollView, UIImageView и UITextView подключены к моему контроллеру.

Когда я использую эту строку коды в viewDidLoad:

self.scrollView.contentSize = CGSizeMake(320, 1000); 

прокручивающихся работы. Однако при прокрутке вниз, если UITextView содержит много текста, нижняя часть текста обрезана. this is what is displayed after scrolling down

Я предполагаю, что должен отрегулировать рамку UITextView. Когда я добавляю эти три строки в viewDidLoad:

CGRect frame = self.bioText.frame; 
frame.size = self.bioText.contentSize; 
self.bioText.frame = frame; 

текст обрезается еще больше.

even less text

Несколько вопросов:

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

ответ

1

Вам не нужно регулировать contentSize в TextView, она автоматически регулирует в соответствии с его текстом

Если вы хотите иметь contentSize вашего UIScrollView настроить в соответствии с его подвидов, и все ваши подобозрения вертикально вы можете использовать этот

CGFloat height = 0 
for(UIView* sub in myScrollView.subviews) 
height += sub.frame.size.height 

myScrollView.contentSize = CGSizeMake(self.contentSize.width, height) 
0

Сегодня я просто решил этот вопрос м. Вы можете установить рамку textView в viewDidLayoutSubviews. Это код в моем приложении:

- (void)viewDidLayoutSubviews { 
    CGRect rect = self.textView.frame; 
    rect.size.height = self.textView.contentSize.height; 
    self.textView.frame = rect; 
} 

Надеется, что это может помочь вам.