`
linwwwei
  • 浏览: 224371 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

UIScrollView的分页理解(分享)

阅读更多

UIScrollView的经典例子就是safari的编辑模式了
  UIScrollView可以垂直,水平滚动。
  如果属性pageEnabled = YES,则设置其为分页模式,那么没滚动一次就是一页,垂直方向上的一页就是UIScrollView的高度,水平方向就是其宽度。
  我们可以设置contentSize,这就是UIScrollView可以滚动的最大区域了。
  UIScrollView没有datasource的概念,因为这就是一个view,具体view中的内容摆放完全随意,只是每次都会滚动固定的页面大小。
  比如我们有5个页面,我们需要自己计算每个页面的位置,将其水平放在UIScrollView上。
  contentSize则设置为5*每个页面的宽度,每个页面的高度。
  如果contentSize的高度或这宽度正好与UIScrollView的高度或宽度相等,则在该方向上不能滚动。
  具体例子可以查看官方文档的例子,PageControl。
  注意:UIScrollView不会带有分页的指示符号,需要利用UIPageControl控制。
  但是要想做到safari的效果,我们需要一个小技巧,因为在safari中,当前页时可以看到前后两页的部分内容。
  注意:分页的宽度不能修改,所以我们只能缩小UIScrollView的宽度,让其不要占满整个屏幕,同时设置clipsToBouds属性为NO,这样超出范围的视图也会显示,这样就能看到前后两页的内容,当然需要设置前后两页的alpha值为0.5,做出一个透明效果。
  在UIScrollView的滚动事件中,判断位置,当一个页面出现的区域超过1半时,设置alpha为1,小于1半时设置alpha为0.5
  现在还有一个问题:UIScrollView的滑动事件响应区域变小了,因为UIScrollView本身变小了,其余我们看到的页面在区域之外,因此我们需要重写UIScrollView所在的parentView的hittest事件,在其他区域的事件返回值为UIScrollView对象,这样用户感觉整个屏幕都是UIScrollView在响应了。

分享到:
评论

相关推荐

    ios-UIScrollView分页滑动宽度自定义.zip

    通过阅读和分析这些代码,我们可以深入理解如何在Swift或Objective-C中实现自定义宽度的UIScrollView分页效果。 总之,"ios-UIScrollView分页滑动宽度自定义.zip"是一个关于iOS开发中自定义UIScrollView分页宽度的...

    UIScrollView分页循环滑动

    在实际应用中,我们经常需要实现类似轮播图或者商品展示的效果,这时就需要利用 `UIScrollView` 的分页循环滑动功能。同时,`UITableView` 作为另一种常见的滚动视图,虽然主要用于垂直方向的滚动,但有时也需要实现...

    UIScrollView滑动分页效果

    一个基于UIScrollView滑动分页效果类似于网易新闻效果但原理不一样,更简单一些,功能比较适合数据的分页展示,原理是设置UIScrollView的ContentSize根据滑动得到的index ContentOffset到不同的位置,demo非常简单...

    ios scrollview 分页

    总之,通过巧妙地组合UIScrollView和UIPageControl,开发者可以在iOS应用中实现滑动分页功能,提供类似电子书或幻灯片的浏览体验。在实际开发中,应根据项目需求进行定制和优化,以提高用户体验。

    UIScrollView、UIScrollView基本用法、UIScrollView详解

    ### UIScrollView 概述 UIScrollView 是 iOS 开发中用于支持滚动操作的一个强大且灵活的视图控件。在移动设备上,由于屏幕尺寸的限制,直接展示给用户的内容量通常是有限的。当需要展示的内容超过了单个屏幕所能...

    UIScrollView Demo代码

    首先,我们需要理解UIScrollView的基本用法。它是一个可滚动的容器,可以包含多个子视图。在创建UIScrollView时,需要设置其contentSize属性,这决定了视图内部可滚动的范围。contentSize的宽高应该大于或等于...

    ios UIScrollView响应touch事件

    理解并掌握`move`与`touchMove`的关系,以及如何在它们之间协调,是开发高效、流畅的滚动界面的基础。通过熟练运用`UIScrollView`的触摸事件处理机制,开发者可以创建出更加自然、用户友好的iOS应用。

    UISCrollView+UITableView

    在iOS开发中,`UISCrollView`和`UITableView`是两...理解这两个控件的工作原理以及它们如何协同工作,对于iOS开发者来说至关重要。通过合理的布局和事件处理,我们可以构建出流畅且功能强大的滚动界面,提升用户体验。

    UIScrollView 原理

    ### UIScrollView原理详解 在iOS应用开发中,UIScrollView是极为常用的一个控件,它允许开发者创建一个可以滚动的内容...通过对UIScrollView工作原理的理解,我们可以更好地利用它来构建出更加优雅和高效的用户界面。

    UIScrollView自动轮播图

    为了使轮播更平滑,我们还需要启用`UIScrollView`的分页效果,通过设置`pagingEnabled`属性为`true`。 ```swift scrollView.isPagingEnabled = true ``` 最后,别忘了在适当的地方(如`deinit`或`...

    UIScrollView自适应高度或宽度

    在iOS开发中,UIScrollView是一个非常重要的控件,它允许用户在水平或垂直方向滚动查看超出视图边界的内容。本教程将深入讲解如何实现UIScrollView的自适应高度或宽度,以达到内容自动填充的效果。我们将主要使用...

    Swift实现可自定义分页宽度的UIScrollView

    首先,我们要理解自定义分页宽度的核心思想。传统的UIScrollView分页通常是基于固定大小的子视图,每个子视图代表一个页面。当用户滚动到页面边缘时,UIScrollView会自动切换到下一个或上一个页面。但在某些场景下,...

    ios-GSSliderView(类似于UISlider) UIScrollView做的分页选择.zip

    自己用imageView加touch,画了一个slider,类似于UISlider,但是功能较API功能全面。加上scrollView做了一个分页选择。.m文件内注释很少,欢迎留言交流。

    UIScrollView使用自动布局

    以下将详细介绍如何操作和理解这一知识点。 首先,了解AutoLayout。AutoLayout是Apple引入的一种布局管理系统,用于处理iOS和OS X应用中的界面布局问题。它基于约束(Constraints)来定义视图之间的相对位置和大小...

    UIScrollView简单实例

    首先,我们需要理解UIScrollView的核心概念。UIScrollView是苹果iOS SDK中的一个关键控件,它允许用户在超过屏幕大小的内容中进行滚动操作。这使得开发者能够创建出包含大量信息或者需要多方向滚动的界面,比如长篇...

    UIScrollView

    首先,我们要理解UIScrollView的基本原理。它是一个可以容纳比屏幕显示范围更大的内容的视图,并允许用户通过手势进行上下左右的滚动。在UIScrollView内部,你可以添加多个子视图,而不仅仅是单个图片。通过设置...

    一个循环滚动的UIScrollView

    首先,我们需要理解`UIScrollView`的基本工作原理。`UIScrollView`有一个contentSize属性,它定义了可滚动区域的大小。当contentSize大于实际视图的frame大小时,用户可以通过滑动来查看超出部分的内容。我们可以...

    UIScrollView实现图片无限滚动Demo

    首先,我们要理解`UIScrollView` 的基本概念。`UIScrollView` 是一个可以容纳比自身视图更大的内容的容器,它允许用户通过手势(如滑动)来查看超出边界的内容。通过设置`contentSize` 属性,我们可以定义`...

    UIScrollView 无限自动循环

    在iOS开发中,`UIScrollView`是一个非常重要的控件,它允许用户在内容超过视图边界时滚动查看。在电商应用中,我们经常看到一种效果,那就是商品推荐或广告轮播图能够实现无限自动循环,这正是`UIScrollView`结合`...

    iOS:UIScrollView实现轮播

    在iOS开发中,UIScrollView是一个非常重要的控件,它允许用户在内容区域大于视图显示范围时进行滚动浏览。实现轮播效果,通常是指在有限的显示区域内,通过滑动显示一系列图片或视图,达到自动循环播放的效果。这在...

Global site tag (gtag.js) - Google Analytics