zoukankan      html  css  js  c++  java
  • [iOS基础控件

    需求:
    1.显示当前图片序号/总图片数
    2.显示图片
    3.上一张图片、下一张图片转换
    4.显示图片描述
     
    Image
     
    A.数据的加载方式
    1.逐个加载、处理
    2.使用数组、字典分离数据和逻辑
    3.延迟加载
         将初始化放在getter初始化,当需要的数据不存在才初始化
    4.使用plist
         存储数据在外部文件,剥离数据和逻辑代码
         不要使用带”info”的名字,会跟系统文件混淆
     
    a.使用NSBundle获得手机全路径
        
     1 if (_imageData == nil) {
     2         // 初始化数据
     3         // File: 全路径
     4         // NSBoundle: 一个NSBoundle代表一个文件夹
     5         // 利用mainBundle就可以访问手机里面的任何资源
     6         NSBundle *bundle = [NSBundle mainBundle];
     7        
     8         // 获得imageData.plist的全路径
     9         NSString *path = [bundle pathForResource:@"imageDate" ofType:@"plist"];
    10         _imageData = [NSArray arrayWithContentsOfFile:path];
    11     }
     
    b. plist文件的解析过程
    逐层解析、封装
     
     
    c.转换图片
     1 #pragma mark 转换图片
     2 - (void) changeData {
     3     // 1.设置当前图片的序号标题
     4     self.noLabel.text = [NSString stringWithFormat:@"%d/%d", self.index + 1, self.imageData.count];
     5     
     6     // 2.取出当前的图片数据
     7     NSDictionary *currentImageData = self.imageData[self.index];
     8     
     9     // 3.设置图片
    10     self.iconView.image = [UIImage imageNamed:currentImageData[IconKey]];
    11     
    12     // 4.设置图片描述
    13     self.descLabel.text = currentImageData[DescKey];
    14     
    15     // 5.改变按钮状态
    16     self.previousButton.enabled = (self.index != 0);
    17     self.nextButton.enabled = (self.index != self.imageData.count - 1);
    18 }
    19 
    20 #pragma mark 上一张
    21 - (IBAction)previous {
    22     self.index--;
    23     [self changeData];
    24 }
    25 
    26 #pragma mark 下一张
    27 - (IBAction)next {
    28     self.index++;
    29     [self changeData];
    30 }
    31 @end
     
     
  • 相关阅读:
    c# DataTable获取某个列的集合
    DataTable中的select()用法(转)
    java中,数组toString()方法,数组常用操作
    C# 如何重写ToString函数及重写的意义,自定义类重写ToString()方法
    重写List 的ToString方法 -------C#
    设置响应报文头 image/jpeg
    response 设置响应头的常用几种方法
    [C#]Http请求报头设置
    HttpContext.Current.Session.Abandon() 大坑 要注意
    for循环拼接字符串去掉最后的逗号
  • 原文地址:https://www.cnblogs.com/hellovoidworld/p/4119721.html
Copyright © 2011-2022 走看看