CoreTextView прокручивается


Я использую CoreTextView для отображения некоторого HTML-форматированного текста в пользовательское представление. Я пытаюсь узнать, как это работает (и я новичок в iOS), поэтому я играл с приведенным примером (который не прокручивается по умолчанию), и мне удалось нарисовать прямоугольник контейнера для содержимого (прямо сейчас на Красном bg, чтобы выделить его). Моя проблема в том, что я не знаю, как сделать его прокручиваемым. Я знаю, как сделать прокручиваемые виды в раскадровке, но я стараюсь делать все программно, и мне сейчас не везет.. Вот код, который генерирует прямоугольник:

CGRect screenRect = [[UIScreen mainScreen] bounds];
CGFloat screenWidth = screenRect.size.width;
CGFloat screenHeight = screenRect.size.height;

int widthInt = (int)roundf(screenWidth)-20;
int heightInt= (int)roundf(screenHeight)-60;
m_coreText=[[CoreTextView alloc] initWithFrame:CGRectMake(10, 50, widthInt, heightInt)];
m_coreText.autoresizingMask=UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
m_coreText.backgroundColor=[UIColor redColor];
m_coreText.contentInset=UIEdgeInsetsMake(10, 10, 10, 10);
1 2

1 ответ:

Вам нужно будет создать оболочку UIScrollView и задать правильный contentSize:

m_coreText.frame=CGRectMake(0, 0, self.view.bounds.size.width, [m_coreText sizeThatFits:CGSizeMake(self.view.bounds.size.width, MAXFLOAT)].height);

UIScrollView* scroll=[[UIScrollView alloc] initWithFrame:self.view.bounds];
scroll.autoresizingMask=UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
scroll.contentSize=m_coreText.frame.size;
[scroll addSubview:m_coreText];
[self.view addSubview:scroll];