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之间的关系可以自行到百度查找相关的答案,或者到以下地址阅读更多相关的 ...
随机推荐
- artTemplate的使用案列
(2) https://github.com/aui/art-template/wiki/syntax:simple
- 剑指offer——python【第3题】从尾到头打印链表
题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 理解 首先要理解链表的概念,链表是由一串串数字首尾相连组成的 解题 # -*- coding:utf-8 -*- # cla ...
- js中级小知识
1.作用域链 作用域:浏览器给js的一个生存环境(栈内存). 作用域链:js中的关键字var和function都可以提前声明和定义,提前声明和定义的放在我们的内存地址(堆内存)中.然后js从上到下逐行 ...
- NodePort 只能在node节点上访问,外部无法访问
创建了一个NodePort类型的jenkins service,node port 30000,node节点ip为192.168.56.101, 在node节点上通过浏览器能正常访问http://19 ...
- Code Generation => Table -> Class for DataGridView use
Generate a class from table defintion and simplify databinding process.
- phpredis Redis集群 Redis Cluster
官方url: https://github.com/phpredis/phpredis/blob/develop/cluster.markdown#readme 2017年10月29日20:44:25 ...
- spring boot maven META-INF/MAINIFEST.MF
unzip -p charles.jar META-INF/MANIFEST.MF https://blog.csdn.net/isea533/article/details/50278205 htt ...
- jquery网页倒计时效果,秒杀
function FreshTime(){ var endtime=new Date('2019-4-12 18:00:00');//结束时间 var nowtime = new Date();//当 ...
- win10系统安装了多个版本的JDK如何切换
本人这台笔记本前面装了jdk8,现在准备用jdk7,我安装好了jdk7:把系统变量中的JAVA_HOME 改为 D:\java\jdk\jdk7\jdk1.7.0_67,Path下添加如下变量,记得加 ...
- 【UML】-NO.44.EBook.5.UML.1.004-【UML 大战需求分析】- 顺序图(Sequence Diagram)
1.0.0 Summary Tittle:[UML]-NO.44.EBook.1.UML.1.004-[UML 大战需求分析]- 顺序图(Sequence Diagram) Style:DesignP ...