一 示例代码


 //
// 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. 【Swing程序设计/常用面板】

    面板也是一个Swing容器,可以作为容器容纳其他组件,但是它必须要被添加到其他容器中.Swing常见的面板是JPanel面板和JScrollPanel面板. JPanel面板可以聚集一些组件来布局. ...

  2. Exception in thread "main" org.apache.hadoop.security.AccessControlException: Permission denied: user=lenovo, access=WRITE, inode="/user/hadoop/spark/people_savemode_test/_temporary/0":hadoop:supergro

    保存文件时权限被拒绝 曾经踩过的坑: 保存结果到hdfs上没有写的权限 通过修改权限将文件写入到指定的目录下 * * * $HADOOP_HOME/bin/hdfs dfs -chmod 777 /u ...

  3. Oracle课程档案,第九天

    lsnrctl status:查看监听状态 Oracle网络配置三部分组成:客户端,监听,数据库 配置文件:$ vi $ORACLE_HOME/network/admin/listener.ora v ...

  4. C#遍历枚举(Enum)值

    foreach (object o in Enum.GetValues(typeof(EmpType))) { Console.WriteLine("{0}:{1}", o, En ...

  5. python全栈开发 * 35 知识点汇总 * 180720

    35 socket 一些常用方法 验证客户端信息 添加随机字符串 socketserver模块 一.socket模块中一些常用方法1.send和sendall的区别2.conn.getpeername ...

  6. 如何将PDF文件转Word,有什么方法

    PDF文件怎样转换成Word呢?在现在的日常办公中PDF文件和Word文件都是办公必不可少的两种文件格式了.那么当我们在工作中需要对这两种文件进行转换时,我们应该怎样实现呢?下面我们就一起来看一下吧. ...

  7. DEDE暴力破解后台登录页面

    DEDE暴力破解后台登录页面 #!/usr/bin/env python '''/* * author = Mochazz * team = 红日安全团队 * env = pyton3 * */ '' ...

  8. AnyConnect无法与指定的安全网关建立连接(转)

    原文:https://www.cnblogs.com/dumuqiao/p/4020547.html Cisco的VPN客户端最近报“AnyConnect was not able to establ ...

  9. python练习题-day13

    1.获取移动平均值 def wrapper(fun): def inner(*args,**kwargs): ret=fun(*args,**kwargs) ret.__next__() return ...

  10. 1、vue 笔记之 组件

    1.组件个人理解:  <组件>是页面的一部分,将界面切分成部分,每部分称为 <组件>   2.组件化思想:          //2.1.定义一个全局的组件,组件支持‘驼峰命名 ...