博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS开发-简单的图片查看器
阅读量:6307 次
发布时间:2019-06-22

本文共 3729 字,大约阅读时间需要 12 分钟。

现在你只要拿着手机,不管你Android还是iOS,新闻类的App不可避免都有一个功能就是图片查看,做个专题,查看一下内容,App Store中也有专门针对图片浏览的App,鉴于目前所知有限,无法做到那么高大上的App,简单的做个美女查看的Demo。没有太多的功能,上一张,下一张,标签,图片,简简单的,深刻的感觉到知识就是力量,目前知识有限的结果就是Demo简单,且学且珍惜吧。

1.新建项目(如果不会可以参考本人之前的文章),然后在StoryBoard中进行布局,将Girl文件夹中的图片拖入项目中;

2.将UIImageView,UILabel,UIButton拖入StoryBoard中,并且设置背景图片;

设置背景图片:

3.ViewController.h中定义成员变量:

#import 
@interface ViewController : UIViewController@property (weak, nonatomic) IBOutlet UIImageView *imageView;@property (weak, nonatomic) IBOutlet UILabel *pageLabel;@end

4.上一张和下一张的事件代码:

定义一个图片数组:

@interface ViewController ()@property NSArray *imageArr;@end@implementation ViewController- (void)viewDidLoad {    [super viewDidLoad];    // Do any additional setup after loading the view, typically from a nib.     _imageArr=@[@"girl0.jpg",@"girl1.jpg",@"girl2.jpg"];}

上一张的代码:

//显示上一张- (IBAction)preview:(id)sender {    NSInteger currentIndex=[[[_pageLabel text] substringToIndex:1] integerValue];    NSInteger allCount=[_imageArr count];       if (currentIndex==1) {        currentIndex=allCount;    }else{        currentIndex=currentIndex-1;    }    //设置标签    [_pageLabel setText:[NSString stringWithFormat:@"%ld/%ld",currentIndex,(long)allCount]];    //获取图片的名称    NSString *imageName=[NSString stringWithFormat:@"girl%ld.jpg",(long)currentIndex-1];        UIImage *image=[UIImage imageNamed:imageName];    [_imageView setImage:image];    }

 下一张代码:

//显示下一张- (IBAction)nextView:(id)sender {    //截取标签上面的数字    NSInteger currentIndex=[[[_pageLabel text] substringToIndex:1] integerValue];    NSInteger allCount=[_imageArr count];    if (currentIndex==allCount) {        currentIndex=0;    }    NSString *imageName=[NSString stringWithFormat:@"girl%ld.jpg",(long)currentIndex];        [_pageLabel setText:[NSString stringWithFormat:@"%ld/%ld",currentIndex+1,(long)allCount]];    UIImage *image=[UIImage imageNamed:imageName];    [_imageView setImage:image];    }

以上的代码基本上都是OC基础,UIImage设置图片的时候只需要传递一下图片名称即可,不需要传递路径;

 5.最终效果如下:

效果很简单,就是在上一张和下一张到临界点的时候判断一下,两者的代码类似,其实可以封装一下,周末愉快;

ViewController.m中的代码:

////  ViewController.m//  MyPicture////  Created by keso on 15/1/17.//  Copyright (c) 2015年 keso. All rights reserved.//#import "ViewController.h"@interface ViewController ()@property NSArray *imageArr;@end@implementation ViewController- (void)viewDidLoad {    [super viewDidLoad];    // Do any additional setup after loading the view, typically from a nib.     _imageArr=@[@"girl0.jpg",@"girl1.jpg",@"girl2.jpg"];}- (void)didReceiveMemoryWarning {    [super didReceiveMemoryWarning];    // Dispose of any resources that can be recreated.}//显示上一张- (IBAction)preview:(id)sender {    NSInteger currentIndex=[[[_pageLabel text] substringToIndex:1] integerValue];    NSInteger allCount=[_imageArr count];       if (currentIndex==1) {        currentIndex=allCount;    }else{        currentIndex=currentIndex-1;    }    //设置标签    [_pageLabel setText:[NSString stringWithFormat:@"%ld/%ld",currentIndex,(long)allCount]];    //获取图片的名称    NSString *imageName=[NSString stringWithFormat:@"girl%ld.jpg",(long)currentIndex-1];        UIImage *image=[UIImage imageNamed:imageName];    [_imageView setImage:image];    }//显示下一张- (IBAction)nextView:(id)sender {    //截取标签上面的数字    NSInteger currentIndex=[[[_pageLabel text] substringToIndex:1] integerValue];    NSInteger allCount=[_imageArr count];    if (currentIndex==allCount) {        currentIndex=0;    }    NSString *imageName=[NSString stringWithFormat:@"girl%ld.jpg",(long)currentIndex];        [_pageLabel setText:[NSString stringWithFormat:@"%ld/%ld",currentIndex+1,(long)allCount]];    UIImage *image=[UIImage imageNamed:imageName];    [_imageView setImage:image];    }@end

转载于:https://www.cnblogs.com/xiaofeixiang/p/4230348.html

你可能感兴趣的文章
zip
查看>>
How to recover from root.sh on 11.2 Grid Infrastructure Failed
查看>>
rhel6下安装配置Squid过程
查看>>
《树莓派开发实战(第2版)》——1.1 选择树莓派型号
查看>>
在 Linux 下使用 fdisk 扩展分区容量
查看>>
结合AlphaGo算法和大数据的量化基本面分析法探讨
查看>>
如何在 Ubuntu Linux 16.04 LTS 中使用多个连接加速 apt-get/apt
查看>>
《OpenACC并行编程实战》—— 导读
查看>>
机器学习:用初等数学解读逻辑回归
查看>>
如何在 Ubuntu 中管理和使用逻辑卷管理 LVM
查看>>
Oracle原厂老兵:从负面案例看Hint的最佳使用方式
查看>>
把自己Github上的代码添加Cocoapods支持
查看>>
C语言OJ项目参考(2493)四则运算
查看>>
零基础入门深度学习(二):神经网络和反向传播算法
查看>>
find和xargs
查看>>
数据结构例程—— 交换排序之快速排序
查看>>
WKWebView代理方法解析
查看>>
IOS定位服务的应用
查看>>
[SMS&WAP]实例讲解制作OTA短信来自动配置手机WAP书签[附源码]
查看>>
IOS中图片(UIImage)拉伸技巧
查看>>