简单相册的实现

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    self.view.backgroundColor = [UIColor whiteColor];
    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, [UIScreen mainScreen].bounds.size.height)];
    scrollView.tag = 100;
    scrollView.contentSize = CGSizeMake(320 * 6, [UIScreen mainScreen].bounds.size.height);
    scrollView.delegate = self;
    scrollView.pagingEnabled = YES;
    scrollView.showsHorizontalScrollIndicator = NO;
    [self.view addSubview:scrollView];
    [scrollView release];

    for (int i = 0; i < 6; i++) {
        UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(i * 320, 0, 320, 568)];
        scroll.maximumZoomScale = 4.0;
        scroll.minimumZoomScale = 1;
        scroll.delegate = self;
        scroll.tag = 110 + i;
        [scrollView addSubview:scroll];
        [scroll release];
        UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 568)];
        imageView.image = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"%d",i + 1] ofType:@"jpg"]];
        imageView.tag = 101 + i;
        [scroll addSubview:imageView];
        [imageView release];
    }

    UIPageControl *pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(10, 528, 300, 20)];
    pageControl.tag = 120;
    pageControl.numberOfPages = 6;
    pageControl.pageIndicatorTintColor = [UIColor grayColor];
    pageControl.currentPageIndicatorTintColor = [UIColor greenColor];
    pageControl.currentPage = 0;
    [pageControl addTarget:self action:@selector(handlePageControl:) forControlEvents:UIControlEventValueChanged];
    [self.view addSubview:pageControl];
    [pageControl release];

}

//设置缩放
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
    switch (scrollView.tag) {
        case 110:
            return [scrollView viewWithTag:101];
        case 111:
            return [scrollView viewWithTag:102];
        case 112:
            return [scrollView viewWithTag:103];
        case 113:
            return [scrollView viewWithTag:104];
        case 114:
            return [scrollView viewWithTag:105];
        case 115:
            return [scrollView viewWithTag:106];
        default:
            break;
    }
    return nil;
}

//滑动pageControl
- (void)handlePageControl:(UIPageControl *)pageControl
{
    UIScrollView *scrollView =(UIScrollView *) [self.view viewWithTag:100];
    [scrollView setContentOffset:CGPointMake(320 * pageControl.currentPage, 0) animated:YES];
}

//恢复原图大小
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
    switch (scrollView.tag) {
        case 100:{
            UIPageControl *pageControl =(UIPageControl *) [self.view viewWithTag:120];
            pageControl.currentPage = scrollView.contentOffset.x / 320;
            for (UIScrollView *scroll in scrollView.subviews) {
                if ([scroll isKindOfClass:[UIScrollView class]]) {
                    [scroll setZoomScale:1.0];
                }
            }
        }
            break;
        default:
            break;
    }
}

时间: 2024-12-16 07:58:29

简单相册的实现的相关文章

Android UI开发: 横向ListView(HorizontalListView)及一个简单相册的完整实现 (附源码下载)

Android UI开发: 横向ListView(HorizontalListView)及一个简单相册的完整实现 (附源码下载) POSTED ON 2014年6月27日 BY 天边的星星 本文内容: 1.横向ListView的所有实现思路; 2.其中一个最通用的思路HorizontalListView,并基于横向ListView开发一个简单的相册: 3.实现的横向ListView在点击.浏览时item背景会变色,并解决了listview里setSelected造成item的选择状态混乱的问题.

UI第七讲.UIScrollView , UIScrollview的常用代理方法, UIPageControl的使用, UIPageControl与UIScrollView的结合使用

一.UIScrollView的常用属性 UIScrollView是可以滚动的view,UIView本身不能滚动,子类UIScrollview拓展了滚动方面的功能. UIScrollView是所有滚动视图的基类.以后的UITableView,UITextView等视图都是继承于该类. 使用场景:显示不下(单张?大图);内容太多(图?文混排);滚动头条(图片);相册等 UIScrollView(滚动视图)的样式: 常用属性: 1.UIScrollView的核心功能 UIScrollview主要专长于

scrollView(3)-相册浏览简单的缩放

上两次谈及scrollView的使用,在相册使用中是最普遍的.每个相机图片都是如此.接下来只把代码奉上,读者可以自行揣摩. 首先创建一个PhotoScrollView类,继承于UIScrollView,总不能都在viewController里面写.既然是相册,那坑定都是图片之类的(视频除外),需要的是一个全局的ImageView来显示图片. //显示图片 @property(nonatomic,strong)UIImageView *imageView; 在PhotoScrollView.m中重

关于QQ空间相册功能的构想与简单实现

QQ空间上传照片对其可以分类,形成不同的相册,这对于用户体验来说是很不错的,如果用户只能上传不加以分类,那么用户体验会很差. 下面是自己关于相册功能实现的一些简单看法: 首先,是创建相册,可以用panel将控件隐藏,给用户更好体验. <asp:Button ID="creatphoto" runat="server" OnClick="creatphoto_Click" Text="创建相册" /> <asp

javaWEB之-----------简单的相册管理

相册管理 这仅仅只是一个小小的相册管理,主要实现的功能:能够实现对图片的上传,统一浏览,单个下载,单个删除,只能删除自己上传的文件. 现在对每个功能进行单个的解释: 图片的上传 图片的上传在之前的博客写的很清楚了.点击打开链接: 在这个相册管理中,就不是单一的文件传了,还需要涉及到很多参数供其他功能模块的使用 <span style="font-size:24px;">//上传文件一般采用外面的 apache的上传工具包 /* * 我们需要将上传的文件放到指定的文件夹下 *

js实现一个最简单的相册

这几天一直在学习和复习js最基础的东西,因为博主的基础很薄弱,所以正在一点点的学习.. 今天来用js实现一个最简单的相册.请看下图 像不像你妈妈的相册或者是你妈妈的头像....话不多说,上代码 <!DOCTYPE html> <html> <head lang="en"> <title>相册</title> </head> <body> <h2>相册</h2> <div i

Android简单的调用系统相机和相册

  public void reasonAdd(View v)     {        final String [] strs=new String[]{"拍照","相册"};         AlertDialog.Builder builder=new AlertDialog.Builder(this);         builder.setTitle("照片");         builder.setItems(strs, new 

Web---自己写的一个简单云相册~

实现的功能是: 用户可以一次上传一个至多个文件. 用户可以下载其他人上传的图片. 用户可以查看其他所有人的图片. 用户只能删除通过自己IP上传的图片. 用到的技术: 文件上传下载.设计模式.Dom4j.xPath等. 先看下2个页面: 源代码: web.xml: <?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://jav

android——拍照,相册图片剪切其实就这么简单

接触android这么久了.还没有真正的浩浩看看android拍照,相册图片剪切到底是怎么回事,每次都是从别人的代码一扣,就过来了.其实,谷歌提供的API已经很强大.只需要用的好,就那么几句就可以搞定神秘的拍照和剪切图片.废话不多少,直接看源码 package com.example.testcamera; import java.io.FileNotFoundException; import android.app.Activity; import android.content.Inten