iPhone开发之UIScrollView滚动组件的使用(一) 拖线实现——大图的移动展示

1、需要掌握的内容
(1)UIScrollView的常见属性
(2)UIScrollView 实现滚动、缩放
(3)UIScrollView的常用代理方法
(4)UIScrollView和UIPageControl的分页
(5)NSTimer的使用(NStimer是一个计时器控件)
2、UIScrollView是干什么的?
—UIScrollView 也是一种控件
—实现滚动和缩放的控件
3、为什么要实现滚动和缩放?
—移动设备屏幕大小有限,当要显示的内容太大时,为了能更方便的查看内容,所以需要移动和缩放。
4、谁进行”滚动“或”缩放“?
—滚动和缩放指的是针对放到UIScrollView控件里面的内容(可以是图片、表格、其他控件等),UIScrollView控件本身不动。
5、举例如下:
—手机上的”设置“
设置—>隐私
设置—>Safari
—大图滚动显示案例
—图片缩放案例
6、UIScrollView的基本使用(非常简单)
(1)拖动一个UIScrollView到界面上
(2)将需要展示的内容添加到UIScrollView中
(3)设置UIScrollView的contentSize属性
-contentSize属性的含义是:告诉UIScrollView—>要展示的内容有多大(尺寸),也就是告诉UIScrollView滚动的范围(能滚多远,滚到哪里是尽头)。UIScrollView会根据contentSize属性判断需不需进行滚动。
总结:三个步骤—— 步骤一:设置UIView的大小即frame
步骤二:拖进子控件
步骤三:告诉UIScrollView内容的实际大小,即contentSize属性。
7、大图展示案例步骤:
(1)拖一个UIScrollView到屏幕
(2)拖一个UIImageView到UIScrollView中
(3)设置UIImageView的显示图片,并根据实际设置的图片大小修改UIImageView的大小。
(4)在控制器的viewDidLoad方法中国,设置UIScrollView的contentSize为图片的实际大小(UIImageView中Image属性的size)
8、一般在控制器的viewDidLoad方法中设置如下:
//告诉UIScrollView,存在于UIScrollView里面内容的实际大小
// 设置UIScrollView的内容的大小等于图片框的大小
// self.scrollView.contentSize=self.imageView.image.size
- scrollView是拖线生成的UIScrollView类型的属性
- imageView是拖线生成的UIImageView类型的属性
//设置UIScrollView的内容的大小等于图片框中所显示图片的大小
self.scrollView.contentSize=self.imageView.image.size
9、UIScrollView无法滚动可能的原因以及解决的办法:
(1)没有设置contentSize
(2)scrollEnable=NO
(3)没有接收到触摸事件:userInteractionEnabled=NO 意思就是不允许与用户交互。
(4)没有取消autoLayout功能(要想scrollView滚动,在Xcode5.x下必须取消autolayout)注意:在Xcode6.1下不需要取消自动布局也可以滚动。
10、UIScrollView的frame.size与contentSize的区别?
— frame.size指的是:UIScrollView的可视区域的大小,即
UIScrollView本身的大小
— contentSize指的是:UIScrollView中所包含的内容的大小(要滚动的实际内容的大小)
11、把frame.size和contentSize设置都一样了,还能滚动吗?如果contentSize比frame.size小还能滚动吗?
不能,只有contentSize内容的大小比UIScrollView的可视区域frame.size大的情况下才可以滚动。

总结:在UIScrollView的frame.size这么大的范围内,要显示contentSize这么大的内容。是否需要滚动,取决于contentSize是否比frame.size大。

具体步骤如下图:

步骤一:



步骤二:


步骤三:


步骤四:


步骤五:


步骤六:

步骤七:


控制器的.m文件内容如下所示:

//
//  ViewController.m
//  datu
//
//  Created by apple on 15/8/26.
//  Copyright (c) 2015年 LiuXun. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
@property (weak, nonatomic) IBOutlet UIImageView *imageview;

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
	// 方式一:设置UIScrollView内容的大小为画框的大小
   // self.scrollView.contentSize=self.imageview.frame.size;
    
    //  方式二:设置UIScrollView内容的大小为画框内图片的大小
    self.scrollView.contentSize=self.imageview.image.size;
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

运行结果如下:



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值