UIScrollView ContentSize限制为UIScollView的大小

时间:2013-09-27 20:02:57

标签: ios

我已按如下方式设置UIScrollView的contentSize:

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

但正如您在下图所示,它仍会显示UITabbar下的最后一行。为什么?

我使用的是iOS 7. enter image description here

1 个答案:

答案 0 :(得分:1)

scrollView的contentSize指的是可以滚动的内容的大小。例如,您的contentSize高度可能为2000像素,因为您可以滚动浏览2000 px的内容。

你的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可能实际上不是你想要的数字;你想要的数字是从滚动视图顶部到底部文本底部的确切高度。但这是个主意:)