2013-10-27 2 views
0

У меня есть UILabel, который содержит длинный текст. Я хочу встроить в scrollview, и я создаю все из них программно.Текст uilabel внутри uiscrollview не показан IOS

Вот мой код:

UIScrollView *myScroll = [[UIScrollView alloc] initWithFrame:CGRectMake(10.0f, 305.0f, 290.0f, 304.0f)]; 
UILabel *centerLabel= [[UILabel alloc] initWithFrame:CGRectMake(10.0f, 305.0f, 290.0f, 304.0f)]; 

[email protected]" ... long text"; 
centerLabel.lineBreakMode = UILineBreakModeWordWrap; 
centerLabel.numberOfLines = 0; 
[centerLabel sizeToFit]; 

myScroll.contentSize = CGSizeMake(myScroll.contentSize.width, centerLabel.frame.size.height); 
[myScroll addSubview:centerLabel]; 
[self.view addSubview:myScroll]; 

Однако текст не отображается. Если я удалю текст прокрутки, будет показано, в позиции, которую я хочу.

В моем прокрутке есть что-то не так.

Что мне не хватает?

+0

Что такое итоговый 'contentSize' для myScroll? – bobnoble

+0

@bobnoble ширина кажется 0, но я не понимаю, почему из приведенного выше кода. Я что-то забыл? – ghostrider

+0

@bobnoble, даже если я вручную установил ширину в число внутри myScoll.contentSize, ничего не отображается. – ghostrider

ответ

1

С происхождением frame от centerLabel до 10/305, при добавлении в качестве подвида из myScroll, его положения будет компенсировано на 10 пунктов от левого (х) и 305 точек от вершины (у) myScroll , заставляя его полностью выходить за пределы прокрутки.

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