◇UIScrollView可以用于显示多于一个屏幕的内容,超出屏幕范围的内容可以通过滑动进行查看的一个容器,好比一张图片铺满屏幕后,我们可以用手指拖动是屏幕滚动从而显示图片的其他位置,
◇UIScrollView的使用方法很简单,就是在UIView中添加一个UIScrollView控件,然后再在又在UIScrollView控件中添加一个UIImageView。具体的嵌套如下。
◇然后把我们的UIScrollView控件和UIImageView控件按住control键拖入代码中生成声明代码:
1 @interface ViewController () 2 @property (weak, nonatomic) IBOutlet UIScrollView *UIScrollView; 3 @property (weak, nonatomic) IBOutlet UIImageView *UIImageView; 4 @end
◇然后在加载的时候,设置UIScrollView属性(CGRect),可以吧UIImageView的大小赋值予它:
1 - (void)viewDidLoad { 2 [super viewDidLoad]; 3 self.UIScrollView.contentSize = self.UIImageView.image.size; 4 }
◇注意:如果UISrcollView无法滚动,可能是以下的原因:
①没有设置contentSize
②scrollEnabled = NO
③没有接收到触摸事件
④没有取消autolayout功能(要想scrollView滚动,必须取消autolayout,在属性栏中)
◇最后,在引用以下李明杰老师的一张图片,清楚地说明UIScrollView的各种尺寸属性:
◇利用UIScrollView的一些属性,我们可以制作一款类喜马拉雅电台的界面,用以复习巩固,首先来看一下界面效果
◇以上所有看得见的控件除了上下两条白边意外,其余的都是button。中间部分是UIScrollView,可以滑动的。
◇大部分都是在设置控件的属性,这个程序代码少得可怜,我就直接贴出来了,一看就能明白。
1 - (void)viewDidLoad { 2 [super viewDidLoad]; 3 4 CGFloat contentH = self.bottom.frame.origin.y + self.bottom.frame.size.height; 5 self.ScrollView.contentSize = CGSizeMake(0, contentH); 6 7 self.ScrollView.contentInset = UIEdgeInsetsMake(0, 0, 118, 0); 8 }