@IT·互联网程序员

UIScrollerView && UIPage

2016-08-26  本文已影响99人  Kevin_wzx

一.滚动视图

1.简单认识

移动设备的屏幕⼤小是极其有限的,因此直接展⽰在⽤户眼前的内容也相当有限,当展⽰的内容较多超出一个屏幕时,用户可通过滚动操作来查看屏幕以外的内容,普通的UIView不具备滚动功能,不能显⽰过多的内容。UIScrollView是一个能够滚动的视图控件,可以⽤用来展⽰大量的内容,并且可以通过滚动查看所有的内容。

2.属性

  • contentOffset属性:UIScrollView滚动的位置;用来表示UIScrollView内容的尺寸,滚动范围(能滚多远)

3.方法

  • -setContentOffset:animated:方法:设置scrollView的位置

4.UIScrollViewDelegate

协议定义了滚动视图对应的事件的回调方法,下面的代码展示了其中的一部分方法


屏幕快照 2016-08-26 下午3.17.30.png

5.UIScrollView不能滚动的几种情况

1.没有设置contentSize
2.scrollEnabled属性 = NO
3.userInteractionEnabled属性 = NO

6.UIScrollView常用功能

1.缩放功能

-(UIView*)viewForZoomingInScrollView:(UIScrollView*)scrollView;
-(void)scrollViewWillBeginZooming:(UIScrollView*)scrollView withView:(UIView*)view;

正在缩放的时候调用

-(void)scrollViewDidZoom:(UIScrollView*)scrollView

7.实例演示

屏幕快照 2016-11-02 上午10.40.50.png 屏幕快照 2016-08-26 下午3.31.02.png

效果:6张图,加了个定时器,可以自己滚动,每次滚动的宽度是一张图片的宽度
如下图刚好是从当前图准备滚到下一张图的效果


屏幕快照 2016-08-26 下午3.29.34.png

8.xib中设置ContentSize

http://blog.csdn.net/wokenshin/article/details/52239536

二.分页视图

1.简单认识

UIPageControl类提供一行点来指示当前显示的是多页面视图的哪一页, 当用户界面需要按页面显示时, 使用UIPageControl控件将要显示的用户界面内容分页进行显示会使编程工作变得更加方便快捷;如图


2.基本属性 && 方法

1.属性


屏幕快照 2016-08-26 下午3.44.20.png

备注:

defersCurrentPageDisplay属性:如果你希望直到有时间执行完你的操作之后,才更新当前指示器当前指示页,可以将该属性设为YES

2.UIPageControl的常用方法:
-updateCurrentPageDisplay:方法:更新页码指示器到当前页

给pageControl绑定事件
[pageControl addTarget:self action:@selector(pageControlChange:) 
forControlEvents:UIControlEventValueChanged];

实现pageControl的绑定事件()
- (void)pageControlChange:(UIPageControl *)pageControl {

 NSLog(@"点了"); // 更新当前页码 [pageControl updateCurrentPageDisplay];
}

3.通过KVC给UIPageControl的选中页面与非选中页面的控件的图片, 设置自定义滚动条图片(图片名随意加的)

[self.pageControl setValue:[UIImage imageNamed:@"current"] forKeyPath:@"_currentPageImage"];
[self.pageControl setValue:[UIImage imageNamed:@"other"] forKeyPath:@"_pageImage"];

3.实例演示(综合滚动视图)-->简单引导页

屏幕快照 2016-08-26 下午3.52.16.png 屏幕快照 2016-08-26 下午3.53.14.png 屏幕快照 2016-08-26 下午3.58.10.png

效果图:


屏幕快照 2016-08-26 下午4.00.17.png

(三张滚动图,滚到第三张加了个按钮,点击进入另一个控制器;在此做了个偏好设置,让该引导页在APP第一次启动时才出现,之后打开不再显示)
代码如下:


屏幕快照 2016-08-26 下午4.04.32.png
代码69---72
屏幕快照 2016-08-26 下午4.05.40.png
上一篇 下一篇

猜你喜欢

热点阅读