博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
滚动视图控制器
阅读量:2352 次
发布时间:2019-05-10

本文共 1724 字,大约阅读时间需要 5 分钟。

当需要显示的内容超过了屏幕尺寸时,滚动视图控件能够帮组在当前的视图中显示更多地内容。

1:在对象库中找到滚动视图控件,即UIScrollView,将其拖拽到视图中,滚动视图默认填充整个视图,可以调整滚动视图到合适的尺寸。如果启用了Auto Layout,将无法通过缩放的方法调整滚动视图的大小,所以可以关闭Auto Layout再进行调整。

 

2:在拖拽一个图像视图控件到滚动视图控件中,调整位置覆盖整个滚动视图。关闭图形视图控件的Auto Layout.

 

3:随便选择一个图片放到Supporting Files文件夹下方。之后选中图像视图控件,打开其属性检查器,设置图像视图控件的image属性为刚添加的图像文件,其效果如下

而原来的图片为

 

相对比,可以看出在模拟器中的图片在高度和宽度上都有压缩的迹象,这是由于在图像视图控件的Mode属性默认设置为Scale ToFill,图像控件对图像自动进行了尺寸压缩的处理。

4.修改Mode的属性为Top Right ,在故事版中只能看到图片的右上角的信息,运行时看到的效果一样,且无法拖拽屏幕以显示图片的其他区域。

5.要想看到其他的区域,我们可以设置滚动视图控件的contentSize属性。

6.为滚动视图控件和图像视图控件创建属性连接口。

所以在ViewController.h中的代码为:

@interface ViewController :UIViewController

@property (weak, nonatomic) IBOutletUIScrollView *scrollview;

@property (weak, nonatomic) IBOutletUIImageView *imageview;

7:在ViewController.m 中的代码为:

 

- (void)viewDidLoad {

    [superviewDidLoad];

    self.scrollview.contentSize =self.imageview.image.size;

}

self.scrollview.contentSize=self.imageview.image.size  这句代码就是设置滚动视图的contentSize 为图片的大小,这样将告诉滚动视图在内部留出足够的空间来显示图片,滚动视图将自动检测屏幕的大小,当滚动视图可视空间不够时会自动在两边添加滚动条,允许用户拖动图片来滚动视图查看图片的其他部分。

 

 

在滚动视图中还可以使图片放大和缩小

 

1:选中滚动视图,打开其属性检查器,找到Zoom属性,设置Min和Max,最小缩放假设设置为0.1,最大放大的倍数为6.

2:在ViewController.m  中添加对滚动视图的代理协议UIScrollViewDelegate类,该协议提供了一系列的方法支持用户在滚动视图中的操作。其代码为

#import "ViewController.h"

 

@interfaceViewController () <UIScrollViewDelegate>

 

@end

 

3:而请求视图进行缩放的方法为viewForZoomingInScrollView,其代码如下

 

-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView

{

    returnself.imageview;

}

 

4:还要在viewDidLoad方法里设置滚动视图的代理类为当前的视图控制器本身,即

- (void)viewDidLoad {

    [superviewDidLoad];

    self.scrollview.contentSize =self.imageview.image.size;

    self.scrollview.delegate =self;

}

 

5:还需要通过一定的配置来指定滚动视图控件的代理。在视图布局兰中按住control键后,从滚动视图控件拖拽出蓝色引导线到视图控制器,在弹出的提示窗口中选择delegate即可。

 

6:运行应用,按住option键可以通过两个手指来模拟缩放的操作。

你可能感兴趣的文章
零基础学Java需要做哪些准备?需要注意些什么呢?
查看>>
有了这份阿里大牛手写630页Java高级面试手册,offer稳了【建议收藏】
查看>>
学习Java,需要学到什么程度,才能出去找工作?
查看>>
2021年Java发展怎么样?现在学了Java技术出来是否还能找到工作?
查看>>
Java程序员面试大厂的技术标准,你达到要求了吗?
查看>>
为什么Java程序员需求量这么大,还会有人找不到合适的工作?
查看>>
过来人对程序员学习Java的10条建议,第2点很重要!
查看>>
大学生如何学好Java?过来人给你7点建议
查看>>
过来人的经验:Java实习生在公司里一般都做什么?
查看>>
一份Java程序员的珍藏书单,请您注意查收
查看>>
为什么这么多人Java基础薄弱?该如何提升?
查看>>
如何成为一名合格的Java程序员?
查看>>
spring框架中5种自动装配模式介绍
查看>>
如何学习Spring框架?有哪些建议?
查看>>
Java程序员烂大街了吗?是,也不是
查看>>
为什么学编程大部分人选Java编程语言?
查看>>
解决WEB ADI打开EXCEL文档时一直停留在"Your document is being created"界面的问题
查看>>
为什么删除文件后磁盘空间还是不变
查看>>
VNC server简单配置vnc
查看>>
win7 安装的offic2007
查看>>