纵向滚动视图操作

我们知道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 !

原文地址:https://www.cnblogs.com/xingchen/p/2142724.html