热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

UIScrollView的简单使用

-UIScrollView介绍问&1.UIScrollView是干什么的??UIScrollView也是一种控件,继承自UIView。?用来实现”滚动”和”缩放”的控件什么是UIS

- UIScrollView 介绍

  • 问&1.UIScrollView 是干什么的? 

  • • UIScrollView 也是一种控件,继承自UIView。
    • 用来实现滚动缩放的控件

  •    什么是UIScrollView?       UIScrollView是一个能够滚动的视图控件,可以用来展示大量的内容,并且可以通过滚动查看所有的内容 

解析:

UIScrollView是直接继承于UIView, 所以UIScrollView不能直接进行addTagert做监听事件,因为只有直接继承于UIControl的才可以直接进行监听事件 ,所以这里要监听UIScrollView的事件,需要引入后面的代理模式delegate;

问&2: 谁在滚动,和缩放?

 -> “滚动”和”缩放”指的是针对放到 UIScrollView 控件里面的内容(可以是图片、表格、其他控件等), UIScrollView 控件本身不动

问&3:为什么要进行”滚动”或”缩放”?

移动设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也相当有限

当展示的内容较多,超出一个屏幕时,用户可通过滚动手势来查看屏幕以外的内

普通的UIView不具备滚动功能,不能显示过多的内容

UIScrollView是一个能够滚动的视图控件,可以用来展示大量的内容,并且可以通过滚动查看所有的内容

 问&4:UIScrollView实现滚动的基本思路?

 * >1.创建一个UIScrollView控件, 设置该控件本身的大小、位置(frame)

* >2.创建要进行滚动的内容(可以是图片、表格、其他控件等)

 **—> 注意: 这个内容通常是比较多的, 屏幕放不下了所以要放到UIScrollView中可以进行滚动查看

* >3.把要滚动的内容添加到UIScrollView控件中, 让要滚动的内容作为UIScrollView控件的子控件

* >4.通过设置UIScrollView的contentSize属性, 指定要滚动的内容的实际大小 —>这里是在代码里面设置的 

** 问&5:为什么要设置UIScrollView的contentSize属性?

** 解析: 如果不设置contentSize, UIScrollView怎么知道实际内容有多大? UIScrollView都不知道实际内容有多大, 它怎么知道需不需要滚动? 如果实际内容比UIScrollView还小, 那么就不需要滚动。如果实际内容比UIScrollView本身的尺寸大, 那么才需要滚动。

** 注意: 在xcode6下不需要取消"自动布局”也能滚动 

代码演示:

 1 - UIScrollView设置滚动的基本步骤:
 2 1> 创建一个UIScrollView
 3    //直接拖拽一个UIScrollView控件到main.storyboard里面,然后设置它的frame,
 4 2> 向UIScrollView中添加内容
 5      //添加一个图片框UIImageView(也可以是其他的控件) ,把图片框尺寸设置为图片原尺寸
 6 3> 设置UIScrollView的内容的大小(contentSize)
 7   //在代码里面设置   所以这里需要拖线,将UIImageView控件和UIScrollView都拖线,
 8 
 9 -4>.代码实现 UIScrollView实现图片滚动(参考案例:大图片展示)
10 @property (weak, nonatomic) IBOutletUIScrollView *scrollView;
11 @property (weak, nonatomic) IBOutlet UIImageView *d2ImageView;
12 - (void)viewDidLoad {
13     [super viewDidLoad];
14     // 设置ScrollView的contentSize
15     // 设置scrollView的contentSize为图片框的大小
16     self.scrollView.cOntentSize= self.imgView.bounds.size;
17 }
18 
19 注意:在设置图片的时候,要把图片的尺寸位置为图片的原尺寸,并左上角对齐
20   图片有多大就显示多大, 这里选择是左对齐,
21   图片控件属性面板—> View —> Mode  —> Top Left
22               View —> Mode里面有很多种对齐方式,

UIScrollView的简单使用


推荐阅读
  • 本文详细介绍了如何利用Duilib界面库开发窗体动画效果,包括基本思路和技术细节。这些方法不仅适用于Duilib,还可以扩展到其他类似的界面开发工具。 ... [详细]
  • [c++基础]STL
    cppfig15_10.cppincludeincludeusingnamespacestd;templatevoidprintVector(constvector&integer ... [详细]
  • 自动验证时页面显示问题的解决方法
    在使用自动验证功能时,页面未能正确显示错误信息。通过使用 `dump($info->getError())` 可以帮助诊断和解决问题。 ... [详细]
  • 自定义滚动条美化页面内容
    当页面内容超出显示范围时,为了提升用户体验和页面美观,通常会添加滚动条。如果默认的浏览器滚动条无法满足设计需求,我们可以自定义一个符合要求的滚动条。本文将详细介绍自定义滚动条的实现过程。 ... [详细]
  • 微软推出Windows Terminal Preview v0.10
    微软近期发布了Windows Terminal Preview v0.10,用户可以在微软商店或GitHub上获取这一更新。该版本在2月份发布的v0.9基础上,新增了鼠标输入和复制Pane等功能。 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 两个条件,组合控制#if($query_string~*modviewthread&t(&extra(.*)))?$)#{#set$itid$1;#rewrite^ ... [详细]
  • 本文详细介绍了DMA控制器如何通过映射表处理来自外设的请求,包括映射表的设计和实现方法。 ... [详细]
  • 解决Win10下MySQL连接问题:Navicat 2003无法连接到本地MySQL服务器(10061)
    本文介绍如何在Windows 10环境下解决Navicat 2003无法连接到本地MySQL服务器的问题,包括启动MySQL服务和检查配置文件的方法。 ... [详细]
  • Spark中使用map或flatMap将DataSet[A]转换为DataSet[B]时Schema变为Binary的问题及解决方案
    本文探讨了在使用Spark的map或flatMap算子将一个数据集转换为另一个数据集时,遇到的Schema变为Binary的问题,并提供了详细的解决方案。 ... [详细]
  • 第二十五天接口、多态
    1.java是面向对象的语言。设计模式:接口接口类是从java里衍生出来的,不是python原生支持的主要用于继承里多继承抽象类是python原生支持的主要用于继承里的单继承但是接 ... [详细]
  • 解决Parallels Desktop错误15265的方法
    本文详细介绍了在使用Parallels Desktop时遇到错误15265的多种解决方案,包括检查网络连接、关闭代理服务器和修改主机文件等步骤。 ... [详细]
  • 解决 Windows Server 2016 网络连接问题
    本文详细介绍了如何解决 Windows Server 2016 在使用无线网络 (WLAN) 和有线网络 (以太网) 时遇到的连接问题。包括添加必要的功能和安装正确的驱动程序。 ... [详细]
  • 使用Jsoup解析并遍历HTML文档时,该库能够高效地生成一个清晰、规范的解析树,即使源HTML文档存在格式问题。Jsoup具备强大的容错能力,能够处理多种异常情况,如未闭合的标签等,确保解析结果的准确性和完整性。 ... [详细]
  • CentOS 7 中 iptables 过滤表实例与 NAT 表应用详解
    在 CentOS 7 系统中,iptables 的过滤表和 NAT 表具有重要的应用价值。本文通过具体实例详细介绍了如何配置 iptables 的过滤表,包括编写脚本文件 `/usr/local/sbin/iptables.sh`,并使用 `iptables -F` 清空现有规则。此外,还深入探讨了 NAT 表的配置方法,帮助读者更好地理解和应用这些网络防火墙技术。 ... [详细]
author-avatar
我非英雄丶广目无双丶_398
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有