一 示例代码


 //
// RootViewController.m
// 图片浏览器初步
//
// Created by lovestarfish on 15/11/1.
// Copyright © 2015年 S&G. All rights reserved.
// #import "RootViewController.h" #define POTOIMGW 175
#define POTOIMGH 300
#define POTOIMGX 100
#define POTOIMGY 120 @interface RootViewController () @property (nonatomic,retain) UILabel *firstLabel;
@property (nonatomic,retain) UILabel *lastLabel;
@property (nonatomic,retain) UIImageView *icon;
@property (nonatomic,retain) UIButton *leftButton;
@property (nonatomic,retain) UIButton *rightButton; @property (nonatomic,retain) NSArray *dataSource; - (void)change;
@property (nonatomic,assign) int i; @end @implementation RootViewController - (void)dealloc {
self.firstLabel = nil;
self.lastLabel = nil;
self.icon = nil;
self.leftButton = nil;
self.rightButton = nil;
self.dataSource = nil;
[super dealloc];
} - (NSArray *)dataSource {
if (!_dataSource) {
NSDictionary *dic1 = @{@"name":@"xib1",@"desc":@"第一张"};
NSDictionary *dic2 = @{@"name":@"xib2",@"desc":@"第二张"};
NSDictionary *dic3 = @{@"name":@"xib3",@"desc":@"第三张"};
NSDictionary *dic4 = @{@"name":@"xib4",@"desc":@"第四张"};
NSDictionary *dic5 = @{@"name":@"xib5",@"desc":@"第五张"};
self.dataSource = @[dic1,dic2,dic3,dic4,dic5];
}
return _dataSource;
} - (void)viewDidLoad {
[super viewDidLoad];
//初始化 i= 0
self.i = ; //创建一个用来显示序号的label控件
UILabel *headLabel =[[UILabel alloc] initWithFrame:CGRectMake(, , , )];
[headLabel setTextAlignment:NSTextAlignmentCenter];
[headLabel setTextColor:[UIColor blackColor]];
[self.view addSubview:headLabel];
[headLabel release];
self.firstLabel = headLabel; //创建一个装载图片的控件
UIImageView *potoImage = [[UIImageView alloc] initWithFrame:CGRectMake(POTOIMGX, POTOIMGY, POTOIMGW, POTOIMGH)];
potoImage.image = [UIImage imageNamed:@"xib1"];
[self.view addSubview:potoImage];
[potoImage release];
self.icon = potoImage; //创建最下边的描述图片的label控件
UILabel *desLabel = [[UILabel alloc] initWithFrame:CGRectMake(, , , )];
desLabel.textAlignment = NSTextAlignmentCenter;
[self.view addSubview:desLabel];
[desLabel release];
self.lastLabel = desLabel; //创建两个方向键按钮
UIButton *leftBtn = [UIButton buttonWithType:UIButtonTypeSystem];
leftBtn.frame = CGRectMake(, , , );
[leftBtn setTitle:@"向左" forState:UIControlStateNormal];
[leftBtn addTarget:self action:@selector(leftBtnClick:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:leftBtn];
self.leftButton = leftBtn; UIButton *rightBtn = [UIButton buttonWithType:UIButtonTypeSystem];
rightBtn.frame = CGRectMake(POTOIMGX + POTOIMGW + , , , );
[rightBtn setTitle:@"向右" forState:UIControlStateNormal];
[rightBtn addTarget:self action:@selector(rightBtnClick:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:rightBtn];
self.rightButton = rightBtn; [self change];
} /**
* 点击按钮图片和文字做出相应的改变
*/
- (void)change { self.icon.image = [UIImage imageNamed:self.dataSource[self.i][@"name"]];
self.lastLabel.text = self.dataSource[self.i][@"desc"];
self.firstLabel.text = [NSString stringWithFormat:@"%d/5",self.i + ];
/*
self.firstLabel.text = [NSString stringWithFormat:@"%d/5",self.i + 1];
switch (self.i) {
case 0:
self.lastLabel.text = @"一";
self.icon.image = [UIImage imageNamed:@"xib1"];
break;
case 1:
self.lastLabel.text = @"二";
self.icon.image = [UIImage imageNamed:@"xib2"];
break;
case 2:
self.lastLabel.text = @"三";
self.icon.image = [UIImage imageNamed:@"xib3"];
break;
case 3:
self.lastLabel.text = @"四";
self.icon.image = [UIImage imageNamed:@"xib4"];
break;
case 4:
self.lastLabel.text = @"五";
self.icon.image = [UIImage imageNamed:@"xib5"];
break;
default:
break;
}
*/
//控制按钮的点击,如果为5则右键shixiao,如果为1,则左键实现
self.leftButton.enabled = (self.i != );
self.rightButton.enabled = (self.i != );
} /**
* 向右按钮的点击方法
*/
- (void)rightBtnClick:(UIButton *)button {
self.i++;
[self change];
} /**
* 向左按钮的点击方法
*/
- (void)leftBtnClick:(UIButton *)button {
self.i--;
[self change];
} - (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning]; } @end

二 实现效果


   

iOS开发 -------- 图片浏览器初步的更多相关文章

  1. iOS开发-图片浏览器(优化)

    // //  ViewController.m //  19-图片浏览器 // //  Created by hongqiangli on 2017/7/31. //  Copyright © 201 ...

  2. iOS开发-图片高斯模糊效果

    iOS开发的时候有的时候需要将图片设置模糊,或者通过点击下拉方法,去除模糊,一切都是为了应用更受用户欢迎,iOS7之后半透明模糊效果得到大范围使用的比较大,现在也可以看到很多应用局部用到了图片模糊效果 ...

  3. iOS开发图片加载的内存问题及优化方案

    原创作者:Magic-Unique 原文地址:https://github.com/Magic-Unique/HXImage猿吧 - 资源共享论坛: http://www.coderbar.cn 做最 ...

  4. IOS开发-图片上传

    目前IOS端开发,图片上传到服务器分为两种,一种是直接上到服务器,一种是借助第三方储存(减少服务器压力). 一.直接上传到服务器 /** * 代码演示 */ //*******UIImagePNGRe ...

  5. ios开发图片点击放大

    图片点击放大,再次点击返回原视图.完美封装,一个类一句代码即可调用.IOS完美实现 创建了一个专门用于放大图片的类,以下为.h文件 #import <Foundation/Foundation. ...

  6. iOS开发——图片轮播图+单选选项

    由于公司开发需要,需要滚动每道评测题, 并且一道评测题单项选择,按钮和文字都可点击选中 (单选比多选复杂一点,但是原理差不多) 1.当初任务紧,代码也没有优化,仅供思路参考,先放几张图 2.代码部分 ...

  7. iOS开发-图片查看(ScrollView+UIPageControl)

    上周没事写了一个简单的图片查看,上次的查看只用到了一个UIImageView,不断的替换背景图片,实现图片之间的切换.通过ScrollView可以很简单的是实现图片之间的查看,设置setPagingE ...

  8. Java开发图片浏览器--记录

    效果 设计思路 需求分析 图片浏览,上/下一张,放大缩小等基本功能.可以继续拓展的功能:缩略图.旋转,画笔修改等.此外,缩放实现较为简单,所以会出现失真.设计此类软件功能可参考ACDSee或irfan ...

  9. IOS开发-图片尺寸

    在这篇文章当中,不会讲述关于具体px pt,分辨率,像素的问题,在这篇文章中,只会谈及到一些展现的问题 如果想了解更多关于pt,px之间的关系可以自行到百度查找相关的答案,或者到以下地址阅读更多相关的 ...

随机推荐

  1. linux 系统全盘备份

    备份程序对比 - Synchronization and backup programs 之前用的 tar进行备份了,更新 grub引导需要重建目录和手动挂载,不是很方便.现直接使用 timeshif ...

  2. 16.vue-cli跨域,swiper,移动端项目

    ==解决跨域:== 1.后台 cors cnpm i -S cors 2.前端 jsonp 3.代理 webpack: myvue\config\index.js 找 proxyTable proxy ...

  3. 13 form表单

    form表单中可包括 <input > 类型包括 text(name,value) password(name,value) checkbox(name,value) radio(chec ...

  4. webstorm安装 利用host破解

    1.官网下载,一路确定(其中最近一版还下载个什么玩意,不要取消,取消后即使安装了也报错找不到jvm的环境变量), 2  打开webstorm,首次使用前accept -->dont sent - ...

  5. 关于IOC和DI

    IoC (Inverse of Control)即控制反转.是指将原来程序中自己创建实现类对象的控制权反转到IOC容器中.只需要通过IOC获了对象的实例,将IOC当成一个黑盒子.工厂.容器. spri ...

  6. Python学习之旅(十三)

    Python基础知识(12):函数(Ⅲ) 高阶函数 1.map map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterat ...

  7. 东大oj1155 等凹函数

    Problem Description 定义一种数字称为等凹数字,即从高位到低位,每一位的数字先递减再递增,且该数是一个回文数,即从左读到右与从右读到左是一样的,仅形成一个等凹峰,如543212345 ...

  8. centos6多实例安装mysql

    基本环境:setenforce 0service iptables stop yum install cmake libaio-devel ncurses-devel -yyum install gc ...

  9. Windows平台分布式架构实践 - 负载均衡(转载)

    Windows平台分布式架构实践 - 负载均衡 概述 最近.NET的世界开始闹腾了,微软官方终于加入到了对.NET跨平台的支持,并且在不久的将来,我们在VS里面写的代码可能就可以通过Mono直接在Li ...

  10. CentOS 6.8 安装TigerVNC 实现 Linux 远程桌面并安装火狐浏览器

    CentOS 6.8 安装TigerVNC 实现 Linux 远程桌面并安装火狐浏览器 vnc客户端地址:https://files.cnblogs.com/files/MYSQLZOUQI/vnc- ...