滚动视图 UIScrollView

2023-05-16

       UIScrollView:提供可以显⽰示⼤大于应⽤用窗⼜⼝口的内容功能的控件, ⽤用户可以通过⼿手势使内容滚动和缩放,从⽽而查 看全部内容。

 

   初始化一个UIScrollView的对象


1     UIScrollView *_scroll=[[UIScrollView alloc] init];  

      首先介绍一下UIScrollView这个类的基本属性  

    属性:  contentSize     滚动视图的内容大小


    //UIScrollView能够滚动的前提是contentsize大于大的本身尺寸。即大于fram
    _scroll.contentSize=CGSizeMake(1000, 1000);  

   这样就将这个滚动视图的内容大小变为(1000,1000)了

    属性:  scrollEnabled     控制是否能滚动,默认为YES

 


    //控制能否滚动的属性,默认为YES,这样就将设置为不能滚动了
//    _scroll.scrollEnabled=NO;  

 

   属性:  contentOffset   偏移量


    //contentoffset偏移量的正方向与坐标系的方向刚刚相反,这样就将视图向右 向下各移了100个像素点
//    _scroll.contentOffset=CGPointMake(-100, -100);  

 

   属性:  contentINset   内容与边界的距离

 


 //contentINset(内容与边界的距离)不能改变contentSize的大小(top/left/bottom/right)(上左下右) 这样内容就可
以向左向右向下向上多移相应的像素点,就可以与边界相距相应的像素点
// _scroll.contentInset=UIEdgeInsetsMake(100, 100, 0,0);

 

 未设置上一步之前:视图向上 向左 最多只能这样:     但是经过上一步的设置以后 视图向上 向左 最多可以这样(红色为滚动视图的背景色):

                                            

 

 

 

   属性:  scrollsToTop      看代码

 


//相当于提供滚动到顶部的快捷方式(导航栏那里),只将垂直方向移到顶部,横向方向不变。在同一个页面,
只能有一个Scroll具备这个能力,如果有两个都具备这个功能,那么这个功能会全部失效
_scroll.scrollsToTop=YES;

 

  接下的几个属性看代码根号理解:


    //控制水平滚动的显示,默认是显示的。
//    _scroll.showsHorizontalScrollIndicator=NO;
    //控制垂直滚动的显示,默认是显示的。
//    _scroll.showsVerticalScrollIndicator=NO;
    
    //定向锁定 打开的话只能沿一个方向(水平或垂直)滚动,不能两个方向一起滚动,也就说不能沿对角线滚动,
默认是关NO
// _scroll.directionalLockEnabled=YES; //反弹效果的开关,YES的话就会有这样的一个效果:滚动到边界还可以滚一段,然后在反弹回来,默认是YES。 // _scroll.bounces=NO; //这是我们经常要设置的一个属性,YES的话:使滚动整页出现,滚动超过半屏就会跳到下一页,否则回到上一页。
默认是NO。
// _scroll.pagingEnabled=YES;

 

  滚动视图是可以按比例来将其中的某一个子视图 放大缩小的,实现缩放要进行下面几部:

   1  首先挂出协议<UIScrollViewDelegate>

   2       设置 最大缩放比例 最小缩放比例  缩放比例
       _scroll.maximumZoomScale = 10;
       _scroll.minimumZoomScale = 0.1;
       _scroll.zoomScale = 3;

  3实现协议方法:-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView  

       返回的 UIView就是你要缩放的子视图,但是要注意的是:如果使用了缩放,contentSize的大小与被缩放的视图尺寸相同

   协议<UIScrollViewDelegate>里面还有一些可能我们用的到一些 时机的方法:

  //滚动就调用 连续调用
  - (void)scrollViewDidScroll:(UIScrollView *)scrollView;
  //开始拖动时调用
  -(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;

  //结束拖动时调用
  -(void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset;

   //将要开始减速时调用

    – scrollViewWillBeginDecelerating

   //减速结束时调用

    – scrollViewDidEndDecelerating

协议里还有很多的方法 ,今天就介绍到这里。

 

转载于:https://www.cnblogs.com/lucan727/p/3923226.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

滚动视图 UIScrollView 的相关文章

  • 可能优化卸载 UIScrollView 和 PageControl 中不再可见的视图+控制器

    我的页面控制代码与苹果示例相同 这里我有一个包含 ImageView 的子视图 controller view 现在问题出在内存管理上 一切正常 但是当我滚动 5 10 页时 RAM 已满 我尝试释放视图 控制器 但没有找到任何合适的工作位
  • 学习 UIScrollView 的基础知识

    我一直很难找到 UIScrollView 的好例子 即使是苹果的 UIScrollView Suite 我也觉得有点缺乏 我正在寻找一个教程或示例集 向我展示如何创建类似于 iPhone Safari 选项卡滚动的内容 当您从一个浏览器窗口
  • 如何禁用 UIScrollView 的水平滚动?

    我有一个UIView就像iPhone的跳板一样 我已经使用创建它UIScrollView and UIButtons 我想禁用所述滚动视图上的水平滚动 我只想要垂直滚动 我该如何实现这个目标 你必须设置contentSize的财产UIScr
  • 如何在 MacBook Air 上的 iOS 模拟器中滚动?

    我有一个滚动视图和一个嵌入的 UIImageView 代码是正确的 但我无法在模拟器中滚动 可能是因为我有触控板 而不是鼠标 或者我可以吗 您需要启用 3 指拖动 从 Apple 菜单中选择 系统偏好设置 单击辅助功能图标 在侧边栏中选择
  • 将父容器的平移手势交给嵌套的 UICollectionView

    我正在尝试构建一个复杂的分割视图容器控制器 该控制器有利于两个可变高度容器 每个容器都有自己的嵌套视图控制器 父控制器上有一个全局平移手势 允许用户拖动视图容器中的任意位置 并在视图之间上下滑动 分隔线 它还具有一些智能位置阈值检测逻辑 可
  • UIScrollView contentInset 属性有什么用?

    有人可以向我解释一下是什么吗contentInset财产在一个UIScrollView实例是用来做什么的 也许提供一个例子 它设置内容视图和封闭滚动视图之间的插图距离 Obj C aScrollView contentInset UIEdg
  • 像 Instagram 一样限制 UITableView 滚动速度

    我正在尝试限制 UITableView 的滚动速度 就像 Instagram 所做的那样 如果你查看 Instagram 你会发现他们对滚动信息流的速度有限制 它不是使用 decelerationRate 设置的 因为限制不会影响减速度 它
  • UIScrollView 与居中的 UIImageView,如照片应用程序

    我想要带有图像内容视图的滚动视图 该图像实际上是比屏幕大得多的地图 地图最初应位于滚动视图的中心 就像当您将 iPhone 转向横向时照片应用程序中的照片一样 我没有设法将地图置于中心并同时进行正确的缩放和滚动 假设地图图像从屏幕顶部开始
  • UIViewController 在 vi​​ewWillAppear 和 viewDidAppear 之间调整自身大小?

    我的项目中有一个非常奇怪的错误 我有一个UIScrollView作为我的主要观点 在它里面 我有一个UIViewController not UITableViewController 其中有一个UITableView实例变量 以及一些杂项
  • “scrollViewDidScroll”无法连续捕获移动

    我正在编写程序来在滚动 UITableView 时移动名为 myView 的 UIView 请看下面的图片 myView 会随着tableview的contentoffset的变化而改变它的 y坐标 我编写的主要代码是 func scrol
  • 如何在Table View定制过程中调用“willDisplayHeaderView”方法?

    我想调用这些方法 void tableView UITableView tableView willDisplayHeaderView UIView view forSection NSInteger section NS AVAILABL
  • 如何完全禁用 UITextView 的滚动?

    我正在使用 UITextView 为 iPad 开发一个简单的文本编辑应用程序 我在使用 UIScrollView 和 UITextView 时总是遇到一些问题 我想我对这两个人的期望太高了 当我将 myTextView text 设置为另
  • 如何在 Swift 中实现 UIPageControl

    好吧 我在这里苦苦挣扎 无法找到有效的解决方案 我一直在自学 Swift 没有 Objective C 经验 我知道 我知道 在我的应用程序中 我有我的主要UIViewController 一个透明但从屏幕底部滑入的子视图 然后滑动子视图的
  • 在photoscroller应用程序(iPhone WWDC-104照片应用程序)中,当使用presentModalviewController调用时,uiscrollview图像向右移动

    我看过 WWDC 104 视频 其中显示了照片的 UIScrollView 我也下载了示例代码 在我的应用程序中 结构如下 根类 A类 gt B类 gt PhotoViewController 包含ScrollView 我正在使用 B 类中
  • iOS:在故事板中将子类从 UIView 更改为 UIScrollView

    我创建了一个基于故事板的项目 在视图控制器的视图之一中需要放置一些额外的元素 这会导致视图高度增加 使得视图现在必须是可滚动的 是否可以简单地将故事板中 UIView 的类类型更改为 UIScrollView 它真的会将顶级 UIView
  • UIScrollView 缩小具有 -ve 原点的视图

    我有一个 UIScrollView 在此我有一个 UIView 它的框架具有负原点 我需要限制滚动视图 以便您无法滚动整个视图 我已经在这个滚动视图中实现了缩放 缩放时 滚动视图将根据比例调整可缩放视图的大小 但它并不能调整原点 所以如果我
  • UIScrollView 中的 UIControll 未接收触摸事件

    I use 七开关 https github com bvogelzang SevenSwitch在我的项目中 我需要将其添加到UIScrollView但当我将其添加到滚动视图时 该控件似乎无法接收触摸事件 我尝试过子类化scrollvie
  • UIScrollView停止减速

    在 iPhone 3 0 中立即停止 UIScrollView 减速的最佳方法是什么 我想保持 UIScrollView 的减速 直到它自然停止或用户执行某个操作 无论先发生什么 Thanks 未经测试的建议即将出现 当捕获按钮点击事件时
  • iphone - UIScrollview - 带有慢速动画的scrollRectToVisible

    我正在使用 UIScrollView 并使用scrollRectToVisible animated 这对我来说效果很好 但我想慢慢滚动到一个位置 以便用户可以注意到效果 是否可以 我正在尝试以下代码 但没有成功 UIView beginA
  • UIScrollView 滚动时捕捉到位置

    我正在尝试实现一个捕捉到点的滚动视图滚动时 我在这里看到的所有帖子都是关于在用户结束拖动滚动条 之后 捕捉到某个点的 我想让它在拖动过程中折断 到目前为止 我已经用它来停止拖动后的惯性 并且效果很好 func scrollViewWillE

随机推荐

  • Go——Inject库

    1 依赖注入和控制反转 在介绍inject之前先简单介绍 依赖注入 和 控制反转 的概念 正常情况下 xff0c 对函数或方法的调用是调用方的主动直接行为 xff0c 调用方清楚地知道被调的函数名是什么 xff0c 参数有哪些类型 xff0
  • 浅谈SpringBoot核心注解原理

    SpringBoot核心注解原理 今天跟大家来探讨下SpringBoot的核心注解 64 SpringBootApplication以及run方法 xff0c 理解下springBoot为什么不需要XML xff0c 达到零配置 首先我们先
  • Quartus II和Modelsim的联合仿真(详细)

    这篇文章不需要在modelsim中建库 映射 建工程等一些繁琐的步骤 xff0c 直接使用modelsim中的默认work库 使用quartus 43 modelsim联合仿真 首先推荐一篇文章 http www cnblogs com e
  • requests.post处理Content-Type: multipart/form-data的请求

    前几天遇到一个需求 xff0c 要调用一个接口发送请求 xff0c 抓包之后得到的数据是这样的 上网看了一些资料得知 xff0c 原来这个接口的数据是通过multipart form data格式传过去的 xff0c multipart f
  • 上一步,下一步(撤销和恢复)

    var data 61 data count 61 0 data list 61 function regain function handleSaveCss 获取workspace body里面的内容 var c 61 34 worksp
  • Ubuntu下dpkg安装软件遇到包依赖问题的处理方法

    造冰箱的大熊猫 64 cnblogs 2019 9 10 向灵魂工程师致敬 xff01 在Ubuntu环境下通过dpkg命令安装deb包时 xff0c 如果遇到包依赖问题 xff0c 如 sudo dpkg i xxx deb Readin
  • Ubuntu18优化桌面版的运行速度

    一 刚开始使用Ubuntu18后 xff0c 感觉开机和运行速度都不理想 xff0c 通过改变一些配置可以提高下用户体验感 二 改变一些配置 a 使用Preload预加载 sudo apt install preload y b 禁用不必要
  • Debian安装mplayer,解决没有声音及声卡独占问题

    通过软件中心可以安装Gnome mplayer 本来以为这样这个播放器已经是 万能 的了 xff0c 但是最近下载了几个 mkv的电影 却发现Gnome mplayer没有办法打开 感觉很失望 在网上找了一番后 说只要下载源代码自己安装就行
  • CentOS7中安装MySQL5.7

    安装必要的组件 yum install y autoconf automake imake libxml2 devel expat devel cmake gcc gcc c 43 43 libaio libaio devel bzr bi
  • 20190708新的开始

    题目描述 发展采矿业当然首先得有矿井 xff0c 小 FF 花了上次探险获得的千分之一的财富请人在岛上挖了 n 口矿井 xff0c 但他似乎忘记考虑的矿井供电问题 为了保证电力的供应 xff0c 小 FF 想到了两种办法 xff1a 在这一
  • Debian安装JDK

    sudo tar zxvf jdk 8u60 linux x64 tar gz C usr local vi bashrc export JAVA HOME 61 usr local jdk1 8 0 60 export JRE HOME
  • Go——多值赋值和短变量声明

    1 多值赋值 可以一次性声明多个变量 xff0c 并可以在声明时赋值 xff0c 而且可以省略类型 xff0c 但必须遵守一定的规则要求 xff0c 具体看下面的示例 如下都是合法的 span class token comment 相同类
  • 「一本通 1.2 练习 2」扩散(loj10015)

    题目描述 一个点每过一个单位时间就会向 4 个方向扩散一个距离 xff0c 如图所示 xff1a 两个点 a b 连通 xff0c 记作 e a b xff0c 当且仅当 a b 的扩散区域有公共部分 连通块的定义是块内的任意两个点 u v
  • .db文件打开方式

    有时在工作中 xff0c 数据库格式db后缀的格式 xff0c 直接是打不开的 xff0c 所以我这里使用了数据库管理工具 xff0c 步骤如下 1 在电脑安装 Navicat Premium xff0c 安装后在桌面生成图标 xff0c
  • MathType的配置问题;将word中的公式转换为mathtype格式失败,缺少OMML2MML.XSL

    安装MathType后打开word报错 打开会出现以下问题 xff1a 首先 xff0c 把startup添加到word的信任中心 xff1a 要确保路径被office信任 依次打开word gt 文件 gt 选项 gt 信任中心 gt 信
  • XMPP系列(四)---发送和接收文字消息,获取历史消息功能

    今天开始做到最主要的功能发送和接收消息 获取本地历史数据 先上到目前为止的效果图 xff1a 首先是要在XMPPFramework h中引入数据存储模块 xff1a 聊天记录模块的导入 import 34 XMPPMessageArchiv
  • linux新增磁盘后,用fdisk等命令查询不到

    ls sys class scsi host xff08 会看到有host0 host1 hostN xff0c 对每个host进行如下操作 xff09 echo 34 34 gt sys class scsi host host0 sca
  • ubuntu上源码编译安装mysql5.7.27

    一 查看操作系统环境和目录结构 xff0c 并创建mysql用户和组 xff0c 以及规划安装mysql所需要的目录 cat etc issue 查看发行版本信息 xff1a cat proc version 查看正在运行的内核版本信息 u
  • (转-收集)MSSQL手工注入语句集合

    and exists select from sysobjects 判断是否是MSSQL and exists select from tableName 判断某表是否存在 tableName为表名 and 1 61 select 64 6
  • 滚动视图 UIScrollView

    UIScrollView xff1a 提供可以显 示 大于应 用窗 口的内容功能的控件 用户可以通过 手势使内容滚动和缩放 从 而查 看全部内容 初始化一个UIScrollView的对象 1 UIScrollView scroll 61 U