iOS开发 -------- 图片浏览器初步
一 示例代码
//
// 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开发 -------- 图片浏览器初步的更多相关文章
- iOS开发-图片浏览器(优化)
// // ViewController.m // 19-图片浏览器 // // Created by hongqiangli on 2017/7/31. // Copyright © 201 ...
- iOS开发-图片高斯模糊效果
iOS开发的时候有的时候需要将图片设置模糊,或者通过点击下拉方法,去除模糊,一切都是为了应用更受用户欢迎,iOS7之后半透明模糊效果得到大范围使用的比较大,现在也可以看到很多应用局部用到了图片模糊效果 ...
- iOS开发图片加载的内存问题及优化方案
原创作者:Magic-Unique 原文地址:https://github.com/Magic-Unique/HXImage猿吧 - 资源共享论坛: http://www.coderbar.cn 做最 ...
- IOS开发-图片上传
目前IOS端开发,图片上传到服务器分为两种,一种是直接上到服务器,一种是借助第三方储存(减少服务器压力). 一.直接上传到服务器 /** * 代码演示 */ //*******UIImagePNGRe ...
- ios开发图片点击放大
图片点击放大,再次点击返回原视图.完美封装,一个类一句代码即可调用.IOS完美实现 创建了一个专门用于放大图片的类,以下为.h文件 #import <Foundation/Foundation. ...
- iOS开发——图片轮播图+单选选项
由于公司开发需要,需要滚动每道评测题, 并且一道评测题单项选择,按钮和文字都可点击选中 (单选比多选复杂一点,但是原理差不多) 1.当初任务紧,代码也没有优化,仅供思路参考,先放几张图 2.代码部分 ...
- iOS开发-图片查看(ScrollView+UIPageControl)
上周没事写了一个简单的图片查看,上次的查看只用到了一个UIImageView,不断的替换背景图片,实现图片之间的切换.通过ScrollView可以很简单的是实现图片之间的查看,设置setPagingE ...
- Java开发图片浏览器--记录
效果 设计思路 需求分析 图片浏览,上/下一张,放大缩小等基本功能.可以继续拓展的功能:缩略图.旋转,画笔修改等.此外,缩放实现较为简单,所以会出现失真.设计此类软件功能可参考ACDSee或irfan ...
- IOS开发-图片尺寸
在这篇文章当中,不会讲述关于具体px pt,分辨率,像素的问题,在这篇文章中,只会谈及到一些展现的问题 如果想了解更多关于pt,px之间的关系可以自行到百度查找相关的答案,或者到以下地址阅读更多相关的 ...
随机推荐
- windows Apache服务器简单配置虚拟域名(转载)
1.找到apache目录下的conf下的extra下的httpd-vhosts.conf虚拟主机配置文件 将下面的代码复制粘贴到最下面: #<VirtualHost *:80># ...
- 面向对象编程之Java多态
我相信从学习计算机面向对象编程起就很多人背下了继承.封装.多态三个特性,可是多态并不是那么好理解的.通常做几道题,背下几次多态的动态绑定规律,可是依旧在一段时间后忘记了多态的存在,为什么要多态,这个程 ...
- vue的数据绑定和组件化
组件:就是自定义标签, 也是Vue的实例对象; 组件好处:就像工作分工,函数封装等 组件分为全局组件和局部组件: 全局组件,在Vue身上的组件,所有的vue挂载的元素内都可以使用:正是因为这一点,co ...
- JS 进阶知识点及常考面试题
将会学习到一些原理相关的知识,不会解释涉及到的知识点的作用及用法,如果大家对于这些内容还不怎么熟悉,推荐先去学习相关的知识点内容再来学习原理知识. 手写 call.apply 及 bind 函数 涉及 ...
- javascript的数组之find()
find()方法返回数组中第一个满足回调函数测试的第一个元素的值.否则返回undefined const arr1 = [1, 2, 3, 4, 6, 9]; let found = arr1.fin ...
- 使用正则表达式进行某网页中的email邮箱抽取
import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; impo ...
- day15 十五、模块、from导入、起别名
一.模块的概念 1.什么是模块:一系列功能的集合体 2.定义模块:创建一个py文件就是一个模块,该py文件名就是模块名 模块的四种存在方式 使用python编写的.py文件 包:一堆py文件的集合体 ...
- 如何在Ubuntu上安装腾讯QQ
首先QQ国际版下载连接:http://pan.baidu.com/s/1sj7i6BF 安装步骤: 一:安装依赖库 在终端输入:sudo apt-get install libgtk2.0-0:i3 ...
- Codeforces 1100 - A/B/C/D/E/F - (Undone)
链接:https://codeforces.com/contest/1100 A - Roman and Browser - [暴力枚举] 题意:浏览器有 $n$ 个网页,编号 $1 \sim n$, ...
- [转]在centos 6.4下安装opencv 2.3.1
系统环境介绍: centos 6.4 1.安装依赖包 yum install cmake gcc gcc-c++ gtk+-devel gimp-devel gimp-devel-tools gimp ...