UIScrollView用法

原创 2013年12月03日 13:33:56

今天就讲下UIScrollView的一些事情,这个可以拖动的组件无论在应用还是游戏开发都会经常用到,所以我们就一定要更加熟悉它了。下面我们开始下手咯。

(1)初始化

一般的组件初始化都可以alloc和init来初始化,上一段代码初始化。

view plain

UIScrollView *sv  =[[UIScrollView alloc] initWithFrame:CGRectMake(0.0, 0.0,self.view.frame.size.width, 400)]; 

 

 

一般的初始化也都有很多方法,都可以确定组件的Frame,或者一些属性,比如UIButton的初始化可以确定Button的类型。当然,我比较提倡大家用代码来写,这样比较了解整个代码执行的流程,而不是利用IB来弄布局,确实很多人都用IB来布局会省很多时间,但这个因人而异,我比较提倡纯代码写。

 

(2)滚动属性

UIScrollView的最大属性就是可以滚动,那种效果很好看,其实滚动的效果主要的原理是修改他的坐标,准确的讲是修改原点坐标,而UIScrollView跟其他组件的都一样,有自己的delegate,在.h文件中要继承UIScrollView的delegate然后在.m文件的viewDidLoad设置的delegate为self。如下:

 

view plain

sv.pagingEnabled = YES; 

sv.backgroundColor = [UIColor blueColor]; 

sv.showsVerticalScrollIndicator = NO; 

sv.showsHorizontalScrollIndicator = NO; 

sv.delegate = self; 

 

CGSize newSize = CGSizeMake(self.view.frame.size.width * 2, self.view.frame.size.height); 

[sv setContentSize:newSize]; 

 

[self.view addSubview: sv]; 

 

 

 

在上面的代码中,一定要设置UIScrollView的pagingEnable为YES。不然你就是设置好了其他属性,它还是无法拖动,接下去的分别是设置背景颜色和是否显示水平和竖直拖动条,最后最重要的设置他的ContentSize,ContentSize的意思就是它所有内容的大小,这个和它的Frame是不一样的,只有ContentSize的大小大于Frame这样才可以支持拖动。

 

(3)结合UIPageControl做新闻翻页效果

初始化UIPageControl的方法都很简单,就是上面讲的alloc和init,不过大家要记住的一点就是如果你定义了全局变量一定要在delloc那里释放掉。

 

UIPageControl有一个userInteractionEnabled你可以设置它为NO。就是点击的时候它不调用任何方法。然后设置它的currentPage 为0,并把它加到view上去。

 

接下来在UIScrollView的delegate方法:

view plain

- (void)scrollViewDidScroll:(UIScrollView *)scrollView;   

 

 

在这里你可以写上关于UIPageControl的页面设置的算法。如下

 

view plain

int index = fabs(scrollView.contentOffset.x) /scrollView.frame.size.width; 

 

pageControl.currentPage = index; 

 

 

(4)其他的

UIScrollView还支持处理缩放的动作,比如图片的缩小或者地图。

但是必须实现它的委托viewForZoomingInScrollView:

scrollViewDidEndZooming:withView:atScale:然后它的两个属性maximumZoomScale和minimumZoomScale 要不一样。这样就能基本实现图片的缩放了。

相关文章推荐

UIScrollView 用法详解

  • 2015年08月30日 21:42
  • 438KB
  • 下载

IOS UIScrollView——用法详解

UIScrollView是用来在屏幕上显示那些在有限区域内放不下的内容。例如,在手机屏幕上显示内容丰富的网页或者很大的图片。在这种情况下,需要用户对屏幕内容进行拖动或缩放来查看屏幕或窗口区域外的内容。...

10.5 UIScrollview概念和用法:实现简单的相册功能

测试代码:

Objective-C-iOS UIScrollView UIPageControl 的用法详解

- (void)viewDidLoad {     [super viewDidLoad];     //UIView是视图类,所有的控件都直接或间接地继承它   ...

UIScrollView的用法(不定期更新)

先从最基本的研究起,用一个例子来说明,如何创建一个UIScrollView。在xcode新建一个基于视图的工程,然后打开项目里viewController的xib文件,在view里添加一个uiscro...

IOS控件UIScrollView详解(基本方法、属性和delegate用法)

1,UIScrollView 常用属性和使用方法 --官方查阅文档  https://developer.apple.com/library/ios/documentation/UIKit/Refe...

UIScrollView 的基本用法 横向滚动

参考贴1: UIScrollView 的基本用法 横向滚动 2012-05-07 14:13:51| 分类: ios开发 | 标签:ios scrollview |字号大中小 订阅 ...

UIScrollView基本用法详解

UIScrollView基本用法详解

UIScrollView用法小记1

一、什么是UIScrollView •移动设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也相当有限 • •当展示的内容较多,超出一个屏幕时,用户可通过滚动手势来查看屏幕以外的内容 • •普...

UIScrollView高级用法:delaysContentTouches与canCencelContentTouches属性

UIScrollView高级属性,delaysContentTouches,canCencelContentTouches,
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UIScrollView用法
举报原因:
原因补充:

(最多只允许输入30个字)