UIScrollView的简单使用,可用来实现简单的相册

MainViewController.h

#import <UIKit/UIKit.h>
@interface MainViewController : UIViewController<UIScrollViewAccessibilityDelegate>
@end

MainViewController.m

#import "MainViewController.h"
@interface MainViewController ()
@end
@implementation MainViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}
- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    //UIScrollView的使用
    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(20, 20, 280, 350)];
    scrollView.backgroundColor = [UIColor brownColor];
//    scrollView.alpha = 0.3;
    [self.view addSubview:scrollView];
    [scrollView release];
    //scorllView的滚动范围
    scrollView.contentSize = CGSizeMake(840, 0);
    //scorllView能否滚动
    scrollView.scrollEnabled = YES;
    //是否可以迅速回到顶部
    scrollView.scrollsToTop = YES;  //点击状态栏迅速回到顶部
    //scorllView按页翻动
    scrollView.pagingEnabled = YES;
    //边缘的弹动效果
    scrollView.bounces = YES;
    //scrollView的偏移量
    scrollView.contentOffset = CGPointMake(0, 0);  //默认为CGPonintMake(0,0)
    //scrollView的代理
    scrollView.delegate = self;
    
    //设置scrollView的缩放
    //1.设置缩放范围
    scrollView.maximumZoomScale = 2.0;
    scrollView.minimumZoomScale = 0.5;
    
    //创建存放imageView的可缩放的scrollView1
    UIScrollView *scrollView1 = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 280, 350)];
    scrollView1.delegate = self;
    scrollView1.maximumZoomScale = 2.0;
    scrollView1.minimumZoomScale = 0.5;
    [scrollView addSubview:scrollView1];
    [scrollView1 release];
    
    //创建存放imageView1的可缩放的scrollView2
    UIScrollView *scrollView2 = [[UIScrollView alloc] initWithFrame:CGRectMake(280, 0, 280, 350)];
    scrollView2.delegate = self;
//    scrollView2.backgroundColor = [UIColor redColor];
    scrollView2.maximumZoomScale = 2.0;
    scrollView2.minimumZoomScale = 0.5;
    [scrollView addSubview:scrollView2];
    [scrollView2 release];
    
    //创建存放imageView2的可缩放的scrollView3
    UIScrollView *scrollView3 = [[UIScrollView alloc] initWithFrame:CGRectMake(560, 0, 280, 350)];
    scrollView3.delegate = self;
    //    scrollView2.backgroundColor = [UIColor redColor];
    scrollView3.maximumZoomScale = 2.0;
    scrollView3.minimumZoomScale = 0.5;
    [scrollView addSubview:scrollView3];
    [scrollView3 release];
    
    
    //创建3个imageView  分别将它们放在scrollView1、scrollView2、scrollView3上面
    UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 280, 350)];
    UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 280, 350)];
    UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 280, 350)];
    imageView.image = [UIImage imageNamed:@"1.jpg"];
    imageView1.image = [UIImage imageNamed:@"2.jpg"];
    imageView2.image = [UIImage imageNamed:@"3.jpg"];
    [scrollView1 addSubview:imageView];
    [scrollView2 addSubview:imageView1];
    [scrollView3 addSubview:imageView2];
    [imageView2 release];
    [imageView1 release];
    [imageView release];
    
}
//缩放的设置:2 指定一个scrollView的子视图,跟着scrollView缩放
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
    return [scrollView.subviews firstObject];
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    //只要用户滚动scrollView,都会调用这个方法**************重要的
    NSLog(@"任何偏移量的改变都会调用这个方法");
}
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
    //用户将要开始拖动scrollView的时候
    NSLog(@"开始拖动");
}
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
    NSLog(@"结束拖动");
}
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView
{
    
    NSLog(@"开始减速");
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
    NSLog(@"结束减速");
}
- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
}
*/
@end
时间: 2024-10-12 20:45:07

UIScrollView的简单使用,可用来实现简单的相册的相关文章

ansible部署简单高可用LAMP

ansible部署简单高可用LAMP ansible主机:192.168.152.145HA1(HighAvailable):192.168.152.140HA2:192.168.152.141VIP1(virtualIP):192.168.152.190VIP2:192.168.152.191AP1(Apache+PHP):192.168.152.142AP2(Apache+PHP):192.168.152.143DB:192.168.152.144 配置ansible yum -y inst

WeX5的简单介绍及UI的简单讲解

WeX5的简单介绍及UI的简单讲解 (2016-01-13 14:49:05) 标签: it 分类: WeX5的初步自学 一.WeX5的简单讲解 1.WeX5是前端快速开发框架,可开发跨端运行应用.是移动App/微信/WebApp开发利器,一次开发多平台运行. 二.WeX5平台了解 1.菜单和工具栏 :查看API:启动Tomcat:搜索:首选项:复位透视图 2.透视图 :导入java项目:使用svn 3.模型资源 :文件对比 :新建.复制.删除:重命名文刷件新及文件夹:模型编译 切换到资源管理器

一个简单的Webservice的demo,简单模拟服务

前段时间一直在学习WCF,匆匆忙忙的把<WCF全面解析>和<WCF服务编程>看了一遍,好多东西都不是很懂,又听了一下WCF分布式开发的网络教程,算是马马虎虎的明白点了.回顾了一下Webservice,将二者进行比较学习.考虑到以后的发展,当时决定学习WCF,希望自己在不久的将来能将WCF学的稍微精通点吧.这几天又将Webservice看了一遍,回想当时学习Webservice处处碰到坑,由于没人指点,连最基本地点发布都折腾好长时间,只能一点一点的填坑跳坑.这几天闲了,想写一个简单的

linux 下heartbeat简单高可用集群搭建

Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统.通过Heartbeat我们可以实现双机热备,以实现服务的持续性. linux下基于heartbeat的简单web服务的高可用集群搭建 首先规划好两台主机作为heartbeat的双机热备,命名为node1.lvni.cc(主) ;node2.lvni.cc, node1的eth0IP :192.168.157.148  Vip eth0:0:192.168.157.149 node2的eth0IP :19

Keepalived Httpd的简单高可用搭建及设定sorry_server

环境: K1:192.168.11.26 K2:192.168.11.28 R1:192.168.11.21 R2:192.168.11.30 VIP:192.168.11.99 一.K1配置 [[email protected] ~]# cd /etc/keepalived/                     [[email protected] keepalived]# cat keepalived.conf    #查看配置文件 ! Configuration File for ke

keepalived双主模型实现高可用ipvs的简单案例

写在前面:如果此文有幸被某位朋友看见并发现有错的地方,希望批评指正.如有不明白的地方,愿可一起探讨. 案例拓扑图 说明: 主机操作系统为:CentOS-6.5-x86_64 准备工作 安装keepalived和ipvsadm 在IP地址为10.170.2.60和10.170.2.61两台主机上安装keepalived和ipvsadm # yum -y install keepalived # yum -y install ipvsadm 安装httpd 在IP地址为10.170.2.101和10

ORACLE的安装与网页版创建表空间的简单操作以及PLsql的简单操作

1.oracle的安装: 安装简单易学,在这里不做解释.下载看装包后耐心等待,注意安装目录不要有中文字符,尽量按照指定目录进行安装.安装完成后会占用有大约5g的内存. 如果要卸载oracle,需要用其自带的卸载工具进行卸载[universal installer],然后删除注册表项,删除环境变量,删除目录并且重新启动计算机. 2.在网页版进行创建表空间: 进入网页版: 在电脑的服务中我们可以看到一共有7个oracle的服务项目,其中只有三个是正在启动中.这三项中,只有当OracleDBConso

策略模式+简单工厂模式+单例模式:简单推送服务

一.功能: 实现  获取数据  —>根据用户订阅清单进行推送 —> 这里的推送方式:QQ.Email.App.插件等等 用户可多选推送方式. 二.实现 1.推送方式—枚举(位运算): [Flags] public enum PushType { QQ = 0, Email = 2 } 2.策略模式:抽象推送策略 public interface IPush { bool Push(object data); } 3.QQ推送+Email推送 QQ推送:单例模式—静态创建QQ推送服务,线程安全.

Android中关于JNI 的学习(零)简单的样例,简单地入门

Android中JNI的作用,就是让Java可以去调用由C/C++实现的代码,为了实现这个功能.须要用到Anrdoid提供的NDK工具包,在这里不讲怎样配置了,好麻烦,配置了好久. . . 本质上,Java去调用C/C++的代码事实上就是去调用C/C++提供的方法.所以,第一步,我们要创建一个类,而且定义一个Native方法.例如以下: JniTest类: public class JniTest { public native String getTestString(); } 能够看到,在这