今天就讲下UIScrollView的一些事情,这个可以拖动的组件无论在应用还是游戏开发都会经常用到,所以我们就一定要更加熟悉它了。下面我们开始下手咯。
(1)初始化
一般的组件初始化都可以alloc和init来初始化,上一段代码初始化。
?
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。如下:
?
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的大小大于ContentSize这样才可以支持拖动。
(3)结合UIPageControl做新闻翻页效果
初始化UIPageControl的方法都很简单,就是上面讲的alloc和init,不过大家要记住的一点就是如果你定义了全局变量一定要在delloc那里释放掉。
UIPageControl有一个userInteractionEnabled你可以设置它为NO。就是点击的时候它不调用任何方法。然后设置它的currentPage 为0,并把它加到view上去。
接下来在UIScrollView的delegate方法:
?
- (void)scrollViewDidScroll:(UIScrollView *)scrollView;
在这里你可以写上关于UIPageControl的页面设置的算法。如下
?
int index = fabs(scrollView.contentOffset.x) / scrollView.frame.size.width;
pageControl.currentPage = index;
(4)其他的
UIScrollView还支持处理缩放的动作,比如图片的缩小或者地图。
但是必须实现它的委托viewForZoomingInScrollView:
scrollViewDidEndZooming:withView:atScale:然后它的两个属性maximumZoomScale和minimumZoomScale 要不一样。这样就能基本实现图片的缩放了。
好了,今天讲UIScrollView和UIPageControl就到这里咯,希望大家都能理解。欢迎拍砖。
附加一个photo的利用UIScrollView实现的demo给大家:http://files.cnblogs.com/huangdongcheng/PagePhotosDemo.zip
更多
http://www.cnblogs.com/zhw511006/archive/2011/01/09/1931339.html
http://www.cnblogs.com/pengyingh/articles/2429790.html
http://www.cnblogs.com/woainilsr/archive/2012/03/28/2421881.html
http://www.cnblogs.com/neozhu/archive/2012/03/30/2425224.html
http://www.cnblogs.com/didiaodexi/articles/2363561.html
http://www.1000phone.net/forum.php?mod=viewthread&tid=7704
http://www.1000phone.net/forum.php?mod=viewthread&tid=8819
http://www.1000phone.net/forum.php?mod=viewthread&tid=8817
http://www.1000phone.net/forum.php?mod=viewthread&tid=3922
http://www.1000phone.net/forum.php?mod=viewthread&tid=2898 ?
分享到:
相关推荐
本教程将详细讲解如何实现`UIScrollView`的循环滚动功能,并结合手势识别和自动滚动,以提升用户体验。我们将通过分析提供的压缩包文件中的`UIScrollViewLoop-1`、`UIScrollViewLoop-2`和`UIScrollViewLoop`来探索这...
在iOS开发中,UIScrollView是一个非常重要的控件,它允许用户在内容超过屏幕大小时进行滚动浏览。本教程将深入探讨如何实现UIScrollView的自动滚动和手动滚动功能,以便为用户提供更丰富的交互体验。 首先,我们要...
在Swift中,我们可以利用扩展(Extension)来为现有的UIView类添加新的功能,例如实现随UIScrollView滚动的视差效果。这个"swift-使用Swift扩展为UIView添加随UIScrollView滚动产生视差效果"的主题主要涵盖了以下...
在iOS开发中,UIScrollView是苹果提供的一种视图控件,用于展示可滚动的内容,比如图片、文字或者多个子视图。"UIScrollview循环滚动"这个知识点涉及到如何让UIScrollView的内容无限滚动,就像一个轮播图一样。在这...
在iOS开发中,UIScrollView是一个非常重要的控件,它允许用户通过滚动来查看超过屏幕大小的内容。在处理触摸事件时,UIScrollView具有独特的机制,使得开发者能够实现丰富的交互效果。本篇文章将深入探讨`...
在iOS开发中,`UIScrollView` 是一个非常重要的控件,它允许用户在内容超过视图范围时进行滚动查看。在本示例项目“UIScrollView实现图片无限滚动Demo”中,开发者利用`UIScrollView` 和其相关特性,创建了一个可以...
本教程将深入讲解UIScrollView的工作原理、基本用法以及如何通过实例来实现滚动视图。 首先,UIScrollView是一个可以容纳比其实际显示区域更大的内容的视图。它允许用户通过滑动来查看超出屏幕边缘的内容,常用于...
又再UIScrollerView中添加了一个UISlider的组件,在手势滑动的过程中,很难滑动到UISlider这个控件,经常是滑动的时候UIScrollerView进行了滚动, 而UISlider这个控件没有滑动,让人很抓狂。 上网具体去了解了一下...
在iOS开发中,UIScrollView是一个非常重要的控件,它允许用户在水平或垂直方向上滚动查看超过屏幕大小的内容。这个控件被广泛应用于各种界面设计,包括但不限于新闻阅读应用、地图应用以及图片浏览器等。在本案例中...
在iOS开发中,`UIScrollView` 是一个非常重要的控件,用于展示可以滚动的内容,比如图片轮播、页面切换等。这个示例代码展示了如何实现一个带有定时滚动和循环滚动功能的`UIScrollView`,同时结合了`UIPageControl`...
- 在iOS中,常见的滚动控件有UIScrollView、UIPickerView等,它们提供了平滑且可定制的滚动体验。Android中的仿iOS滚动控件可能模仿了这些特性,例如实现类似于UIPickerView的滚动选择器。 2. **自定义视图**: -...
UIScrollView 是 iOS 开发中用于支持滚动操作的一个强大且灵活的视图控件。在移动设备上,由于屏幕尺寸的限制,直接展示给用户的内容量通常是有限的。当需要展示的内容超过了单个屏幕所能显示的范围时,UIScrollView...
在iOS开发中,UIScrollView是苹果提供的一个非常重要的控件,用于实现内容的滚动查看。它允许用户通过手势在超出屏幕范围的内容中滑动。在这个实例中,我们将关注如何使用UIScrollView来实现无限循环滚动和自动滚动...
在标题“UIScrollview 图片无缝连续自动滚动”中,我们讨论的核心是利用UIScrollview来实现图片的无缝、连续且周期性的自动滚动效果。这种效果常见于新闻头条、广告轮播或者产品展示等场景,可以吸引用户的注意力并...
在iOS开发中,`UIScrollView` 是一个非常重要的控件,它允许用户在超过视图边界的内容上进行滚动操作。在本教程中,我们将探讨如何利用`UIScrollView`实现一个无限循环切换图片的功能,同时支持自动顺序和逆序播放。...
本文将详细探讨如何在iOS中创建一个循环滚动的`UIScrollView`。 首先,我们需要理解`UIScrollView`的基本工作原理。`UIScrollView`有一个contentSize属性,它定义了可滚动区域的大小。当contentSize大于实际视图的...
然而,标准的`UIScrollView`并不支持自动无缝循环滚动,即当用户滑动到底部或顶部时,内容不能立即从开头或结尾重新出现。为了实现这种效果,开发者通常需要自定义`UIScrollView`的行为,这涉及到对`...
在iOS开发中,`UIScrollView` 是一个非常重要的控件,它允许用户在内容超过视图范围时滚动查看。实现`UIScrollView`的无限滚动通常是为了创建类似轮播图、瀑布流或者无限滚动列表的效果,给用户一种内容无尽的感觉。...
在iOS开发中,`UIScrollView` 是一个非常重要的控件,用于展示可以滚动的内容,比如图片、文字等。在这个示例中,我们看到如何利用`UIScrollView`实现图片的定时滚动和点击事件处理。以下是对这个话题的详细解释: ...