我们知道TableView有很多条记录,但是TableView因为可以滚动,因此,他可以占用很小的视图空间,可是,对于那些不使用TableView的情况该怎么办哪?我们想到了UIScrollView,他就是一个可以滚动的视图,当他的高度超过了iphone的屏幕高度的时候,就会在屏幕的右侧出现一个滚动轴,然后我们就可以在纵向滑动,来查看原本在iphone屏幕之外的内容。
UIScrollView可以看成是要给是一个UIView容器,里面可以放置一些内容可以动态改变的视图,比如:uiTableView控件。
仅仅有这些还是不够的,当UIScrollView容器内的UIView子对象实例的高度改变后,我们还需要动态的改变UIScrollView控件的高度。
参考代码如下所示:
-(void)ResetScrollViewContentHeight
{
int maxY =0;
int maxSubViewHeight=0;
for (UIView *view in m_scrollView.subviews)
{
if (maxY<view.frame.origin.y)
{
maxY = view.frame.origin.y;//找到Y坐标最大值
//计算最下面的控件的底部的Y坐标,也就是UIScrollVIew空间的高度
maxSubViewHeight = maxY +view.frame.size.height;
}
}
CGSize contentSize = CGSizeMake(320, maxSubViewHeight);
m_scrollView.contentSize = contentSize;//改变他的高度
}
到这里,你基本就完成了相应的操作,继续运行App,你就可以发现可以手动的滚动视图了。
从上面的知识可以得出,我们可以将UIScrollView看成是一个Content内容(高度)可以动态改变的UIView的子类的容器控件。这样,我们就可以动态的使用代码或者操作触发事件并以此改变UIScrollview控件的高度。c
THE END !