使用OC通过数组来存放图片并加按钮使之能够切换照片
2016-07-12 20:18
405 查看
@interface ViewController ()
// 左边按钮
@property(nonatomic,strong)UIButton *leftBtn;
// 右边按钮
@property(nonatomic,strong)UIButton *rightBtn;
// 相框属性和将图片存入数组
@property(nonatomic,strong)UIImageView *myImageView; @property(nonatomic,strong)NSArray *imageNames; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; self.imageNames = @[@"图片名",@"图片名",@"图片名"];
// 设置相框位置及属性
self.myImageView = [[UIImageView alloc]initWithFrame:CGRectMake(110, 100, 200, 200)];
// 导入图片 其中png格式的只需加上名字 其余的均要加上后缀
UIImage *image = [UIImage imageNamed:@"图片名"];
// 将图片导入到相框当中
self.myImageView.image = image; [self.view addSubview:self.myImageView];
//通过右边按钮实现图片交换
-(void)rightBtnAction // 切换到下一张图片 // 获取是第几张图片 { NSInteger index = [self.imageNames indexOfObject:self.titleLabel.text]; // 不是最后一张便可以切换 if (index < 4) { if (index == 3) { // 改变右边按钮颜色和关闭用户交互 self.rightBtn.userInteractionEnabled = NO; UIImage *image = [UIImage imageNamed:@"right_disable"]; [self.rightBtn setBackgroundImage: image forState:(UIControlStateNormal)]; } else { // 左边按钮和颜色都处于正常状态 self.leftBtn.userInteractionEnabled = YES; self.rightBtn.userInteractionEnabled = YES; UIImage *leftNormal = [UIImage imageNamed:@"left_normal"]; UIImage *rightNormal = [UIImage imageNamed:@"right_normal"]; [self.leftBtn setBackgroundImage:leftNormal forState:(UIControlStateNormal)]; [self.rightBtn setBackgroundImage:rightNormal forState:(UIControlStateNormal)]; } // 若不是最后一张那么切换下一张图片 通过定义的数组实现 NSString *nextTitle = self.imageNames[index+1]; // 下一张图片标题即为图片名称 self.titleLabel.text = nextTitle; // 下一张图片即为数组中的下个元素名字 self.myImageView.image = [UIImage imageNamed:nextTitle];} }
// 通过左边按钮实现图片交换
-(void)leftBtnAction { // 切换到上一张图片 // 获取是第几张图片 NSInteger index = [self.imageNames indexOfObject:self.titleLabel.text]; // 不是第一张便可以切换 if (index > 0) { if (index == 1) { // 左边交互关闭 self.leftBtn.userInteractionEnabled = NO; UIImage *image = [UIImage imageNamed:@"left_disable"]; [self.leftBtn setBackgroundImage: image forState:(UIControlStateNormal)]; else { // 左右两边按钮都是正常状态 self.leftBtn.userInteractionEnabled = YES; self.rightBtn.userInteractionEnabled = YES; UIImage *leftNormal = [UIImage imageNamed:@"left_normal"]; UIImage *rightNormal = [UIImage imageNamed:@"right_normal"]; [self.leftBtn setBackgroundImage:leftNormal forState:(UIControlStateNormal)]; [self.rightBtn setBackgroundImage:rightNormal forState:(UIControlStateNormal)]; } // 若不是第一张那么切换为上一张图片 通过定义的数组实现 NSString *lastTitle = self.imageNames[index-1]; // 上一张图片标题即为图片名称 self.titleLabel.text = lastTitle; // 上一张图片即为数组中的下个元素名字 self.myImageView.image = [UIImage imageNamed:lastTitle]; } }
// 按钮监听
-(void)btnClickLister { NSLog(@"click btn"); } //防止内存溢出 -(void)didReceiveMemoryWarning { [super didEeceiveMemoryWarning]; } @end
相关文章推荐
- 按右键另存图片只能存BMP
- photoshop去除图片上的水印
- upload上传单张图片
- 图片引发的溢出危机(图)
- C# WinForm控件对透明图片重叠时出现图片不透明的简单解决方法
- C#实现把彩色图片灰度化代码分享
- C#将图片和字节流互相转换并显示到页面上
- C#监控文件夹并自动给图片文件打水印的方法
- 纯CSS实现的当鼠标移上图片添加阴影效果代码
- 如何使用C#从word文档中提取图片
- C#实现打开画图的同时载入图片、最大化显示画图窗体的方法
- C#图片添加水印的实现代码
- 随鼠标移动的图片或文字特效代码
- CSS 图片横向排列实现代码
- C#实现将Email地址转成图片显示的方法
- C#实现图片加相框的方法
- 超级经典一套鼠标控制左右滚动图片带自动翻滚
- 用css实现图片垂直居中的使用技巧
- 一起动手编写Android图片加载框架
- C++实现读取图片长度和宽度