2013-09-27 2 views
0

Я поставил contentSize в UIScrollView следующим образом:UIScrollView ContentSize Limited в размере от UIScollView

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

Но как вы можете видеть на картинке ниже он все еще показывает одну последнюю строку под UITabbar. Зачем?

Я использую IOS 7. enter image description here

+0

попытайтесь уменьшить значение 800, потому что размер содержимого превышает размер экрана – SRI

+0

@ernaidu Я не понимаю, что вы имеете в виду? –

+0

попробуйте, например, ** self.scrollView.contentSize = CGSizeMake (320,750); ** – vinaut

ответ

1

Scrollview-х contentSize относится к размеру содержимого, которое можно прокручивать до конца. Например, у вас может быть высота contentSize, равная 2000 px, потому что вы можете пролистать 2000 пикселей.

Ваш contentSize не является проблемой; вы действительно хотите, чтобы его было 800 (я предполагаю, что это высота всего текста и графики, не включая панель вкладок внизу). То, что вы хотите изменить, - это фактический размер самого объекта scrollView. Тогда scrollView будет иметь правильную высоту (что-то вроде scrnHeight - tabBarHeight), но contentSize будет по-прежнему отражать размер контента (материал внутри scrollView).

[self.scrollView setFrame:CGRectMake(self.scrollView.frame.origin.x, 
    self.scrollView.frame.origin.Y, 320, scrnHeight - tabBarHeight)]; 
self.scrollView.contentSize = CGSizeMake(320, 800); 

И тогда вы все должны быть установлены. Теперь возможно, что 800 на самом деле не номер, который вы хотите; число, которое вы хотите, - это точная высота от верхней части прокрутки до самого бота этого текста внизу. Но это идея :)

+0

Оказывается, это было связано с проблемой. Я скорректировал ограничение, и теперь все в порядке! –

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