iOS控件之UIScrollView

本文详细介绍如何使用 iOS 中的 UIScrollView 控件来实现滚动视图的功能,包括设置滚动视图的属性、加载图片、调整子视图位置等,并进一步探讨了 UIScrollView 的一些高级特性。

iOS控件之UIScrollView

首先这段代码放在AppDelegate.m
创建一个Window
在这里插入图片描述

然后这段代码写在rootViewController.m里面
这是新创建的一个类,继承于UIViewController
- (void)viewDidLoad {
	[super viewDidLoad];
	//定义并且创建一个滚动视图
	//可以对视图内容进行滚屏查看功能
	UIScrollView* sv = [[UIScrollView alloc] init];
	
	//设置滚动视图的位置,使用矩形来定位视图位置
	sv.frame = CGRectMake(0, 200, 400, 100);
	
	//是否按照整页来滚动视图
	sv.pagingEnabled = YES;
	//是否可以开启滚动效果
	sv.scrollEnabled = YES;
	//设置画布的大小,画布显示在滚动视图内部,一般大于 Frame的大小
	sv.contentSize = CGSizeMake(100 * 20, 100);
	//是否可以边缘弹动效果
	sv.bounces = YES;
	//开启横向弹动效果
	sv.alwaysBounceHorizonal = YES;
	//开启纵向弹动效果
	sv.alwaysBounceVertical = YES;
	//显示横向滚动条
	sv.showsHorizontanlScrollIndicator = YES:
	//是否显示纵向滚动条
	sv.showsVerticalScrollIndicator = YES;
	//设置背景颜色
	sv.backgroundColor = [UIColor yellowColor];

	//使用循环创建5张图片视图
	for (int i = 0; i < 21; i++) {
		NSString* strName = [NSString stringWithFormat:@"%d.jpg", i + 1];
		UIImage* image = [UIImage imageNamed:strName];
		UIImageView* iView = [[UIImageView alloc] initWithImage:image];
		
		//注意这里iView的父视图是sv,
		//所以设置它的x,y时参照物是sv.注意坐标原点的位置
        //不再是屏幕左上角。
        //而是画布左上角
		iView.frame = CGRectMake(100 * i, 0, 100, 100);
		[sv addSubview:iView];
	}
	[self.view addSubview:sv];
}

个人总结:
设置滚动视图时,注意设置子视图位置x,y的参照点。
图片比较多时,采用循环加载图片比较好,也显得很高级

下面谈一下UIScrollView的一些高级功能

在这之前,你需要在ViewController.h实现一个协议函数
@interface ViewController:UIViewController
//当前视图控制器要实现协议UIScrollView的协议函数

在ViewController.h
<UIScrollViewDelegate>
{
	//定义一个滚动视图成员变量
	UIScrollView* _scrollView;
}

这一段写在ViewController.m

- (void)viewDidLoad {
	[super viewDidLoad];
	//创建滚动视图
	_scrollView = [[UIScrollView alolc] init];

	//设定滚动视图的位置
	_scrollView.frame = CGRectMake(10, 50, 300, 400);
	
	//取消弹动效果
	_scrollView.userInteractionEnabled = NO;

	//是否允许通过点击屏幕让滚动视图响应事件
	//YES:滚动视图可以接受触碰事件
	//NO:不接受触碰事件
	_scrollView.userInteractionEnabled = YES;

	//设置画布大小,纵向效果
	_scrollView.contentSize = CGSizeMake(300, 400 * 9);

	for (int i = 0; i < 9; i++) {
		//生成图片名称
		NSString* strName = [NSString stringWithFormat:@"%d.jpg", i + 1];
		UIImage* image = [UIImage imageNamed:strName];
		//创建图像视图位置
		UIImageView* iView = [[UIImageView alloc] init];
		//图像赋值
		iView.image = image;
		//设置图像视图在滚动视图画布中的位置
		iView.frame = CGRectMake(0, 400 * I, 300, 400);
		[_scrollView addSubview:iView];
	} 
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值