iOS -- 图片浏览器

// strong : 一般对象
// weak : UI控件
#define MJIconKey @"icon"
#define MJDescKey @"desc"
#import "MJViewController.h"
@interface MJViewController ()
- (IBAction)previous;
- (IBAction)next;
@property (weak, nonatomic) IBOutlet UIButton *previousBtn;
@property (weak, nonatomic) IBOutlet UIButton *nextBtn;
@property (weak, nonatomic) IBOutlet UILabel *noLabel;
@property (weak, nonatomic) IBOutlet UIImageView *iconView;
@property (weak, nonatomic) IBOutlet UILabel *descLabel;
// 记录当前显示的是第几张图片
@property (nonatomic, assign) int index;
// 图片数据集合
@property (nonatomic, strong) NSArray *imageData;
@end
@implementation MJViewController
- (void)viewDidLoad
{
    [super viewDidLoad];
    [self changeData];
}
- (NSArray *)imageData
{
    if (_imageData == nil) { // 从未初始化
        // 初始化数据
        NSMutableDictionary *image1 = [NSMutableDictionary dictionary];
        image1[MJIconKey] = @"biaoqingdi";
        image1[MJDescKey] = @"在他面前,其他神马表情都弱爆了!";
        NSMutableDictionary *image2 = [NSMutableDictionary dictionary];
        image2[MJIconKey] = @"wangba";
        image2[MJDescKey] = @"哥们为什么选八号呢";
        NSMutableDictionary *image3 = [NSMutableDictionary dictionary];
        image3[MJIconKey] = @"bingli";
        image3[MJDescKey] = @"这也忒狠了";
        NSMutableDictionary *image4 = [NSMutableDictionary dictionary];
        image4[MJIconKey] = @"chiniupa";
        image4[MJDescKey] = @"chiniupa";
        NSMutableDictionary *image5 = [NSMutableDictionary dictionary];
        image5[MJIconKey] = @"danteng";
        image5[MJDescKey] = @"亲,你能改下你的网名么?哈哈";
//        NSMutableDictionary *image6 = [NSMutableDictionary dictionary];
//        image6[MJIconKey] = @"chiniupa";
//        image6[MJDescKey] = @"新增的数据哈哈哈哈哈哈";
        _imageData = @[image1, image2, image3, image4, image5];
    }
    return _imageData;
}
#pragma mark 改变数据
- (void)changeData
{
    // 1.改变数据
    self.noLabel.text = [NSString stringWithFormat:@"%d/%d", self.index + 1, self.imageData.count];
    // 2.取出index对应的字典数据
    NSDictionary *imageDict = self.imageData[self.index];
    // 3.设置图片
    self.iconView.image = [UIImage imageNamed:imageDict[MJIconKey]];
    // 4.设置描述
    self.descLabel.text = imageDict[MJDescKey];
    // 2.改变按钮状态
    self.previousBtn.enabled = (self.index != 0);
    self.nextBtn.enabled = (self.index != self.imageData.count - 1);
}
#pragma mark 上一张
- (IBAction)previous {
    // 1.减小索引
    self.index--;
    // 2.改变数据
    [self changeData];
}
#pragma mark 下一张
- (IBAction)next {
    // 1.增加索引
    self.index++; //0
    // 2.根据索引显示对应的内容
    [self changeData];
}
@end

时间: 2024-08-27 23:31:57

iOS -- 图片浏览器的相关文章

iOS图片浏览器控件 放大,缩小,UIScrollView

GitHub地址 https://github.com/JerryWanXuJie/XJAlbum 图片浏览器主要通过 UIScrollView 实现  在一个大的ScollView里面套 n个ScollView UIScrollView里主要是有两个属性,contentSize和contentoffset , contentSize 是设定UIScrollView的可交互的大小,contentoffset偏移量 设置第一层 UIScollView 主要是设置 contentSize 和 con

iOS -- 图片浏览器3(将数据存储到plist文件中)

// 将数据存入plist文件中#define IconKey @"icon"#define DescKey @"desc"#import "ViewController.h"@interface ViewController ()- (IBAction)previous;- (IBAction)next;@property (weak, nonatomic) IBOutlet UIButton *previousBtn;@property (w

iOS -- 图片浏览器2(用NSDictionary来存储数据)

// strong : 一般对象  weak : UI控件#define IconKey @"icon"#define DescKey @"desc"#import "ViewController.h"@interface ViewController ()- (IBAction)previous;- (IBAction)next;@property (weak, nonatomic) IBOutlet UIButton *previousBtn

IOS开发系列--无限循环的图片浏览器

--UIKit之UIScrollView 概述 UIKit框架中有大量的控件供开发者使用,在iOS开发中不仅可以直接使用这些控件还可以在这些控件的基础上进行扩展打造自己的控件.在这个系列中如果每个控件都介绍一遍确实没有必要,所谓授人以鱼不如授人以渔,这里会尽可能让大家明白其中的原理,找一些典型的控件进行说明,这样一来大家就可以触类旁通.今天我们主要来看一下UIScrollView的内容: UIView UIScrollView 实战--图片浏览器 UIView 在熟悉UIScrollView之前

IOS开发-图片浏览器实例-UIImageView的使用-懒加载-plist文件的使用

一.本文概述 一个使用UIImageView.UILabel.UIButton实现的图片浏览器的实例,界面如图:   功能描述: 1. 点击左右箭头切换图片.图片描述.图片序号: 2.第一张图片时左箭头不能点击 3.最后一张图片时右箭头不能点击 4.点击设置按钮出现一个可设置的界面(上图中黄色背景的部分)可以设置模式和对图片的缩放 实现概述: 1.搭建UI界面,使用UIImageView控件显示图片 2. 监听个按钮的点击 3. 切换图片内容,描述,序号.背景色及UIImageView的tran

iOS基础控件之 图片浏览器

知识准备: UIbutton 和UIimageview的异同: 相同点:> 都能显示图片 不同点:> UIButton默认情况就能监听点击事件,而UIImageView默认情况下不能   > UIButton可以在不同状态下显示不同的图片      > UIButton既能显示文字,又能显示图片 如何选择:> UIButton:需要显示图片,点击图片后需要做一些特定的操作 > UIImageView:仅仅需要显示图片,点击图片后不需要做任何事情 NSArray和NSDi

快速集成图片浏览器快速集成图片浏览器->MJPhotoBrowser的使用

介绍: 一个比较完整的图片浏览器,高仿了新浪微博的图片浏览效果,功能包括:下载浏览互联网图片,点击缩略图全屏显示图片.当加载较大图片时会出现圆形进度条,滑动浏览所有图片.保存图片到本地相册.GIF图片播放等.而且仅需几行代码就能添加图片浏览器功能. 项目地址:http://code4app.com/ios/快速集成图片浏览器/525e06116803fa7b0a000001 使用: for (int i = 0; i<3; i++) { UIImageView *img = [[UIImageV

iOS 图片

一.图片加载的工作流 概括来说,从磁盘中加载一张图片,并将它显示到屏幕上,中间的主要工作流如下: 假设我们使用 +imageWithContentsOfFile: 方法从磁盘中加载一张图片,此时的图片并没有解压缩: 然后将生成的 UIImage 赋值给 UIImageView: 接着一个隐式的 CATransaction 捕获到了 UIImageView 图层树的变化: 在主线程的下一个 run loop 到来时,Core Animation 提交了这个隐式的 transaction,这个过程可

ViewPager做图片浏览器,加载大量图片OOM的问题修正

1 /** 2 * @author CHQ 3 * @version 1.0 4 * @date 创建时间: 2016/7/26 17:18 5 * @parameter 6 * @return 7 * 图片查看器 8 * //可以查看网络图片 9 * //可以查看本地图片 10 */ 11 public class PhotoScan extends Activity { 12 private PhotoViewPager mViewPager; 13 private List<View>