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
     
     
  • 相关阅读:
    javaScript常用运算符和操作符总结
    JavaScript-基本语法和数据类型
    javascript基本特点,组成和应用
    常用布局-列宽度是固定宽度还是自适应
    web设计之无懈可击
    CSS布局定位基础-盒模型和定位机制
    Ubuntu(Linux)系统WPS文字不能输入中文如何解决
    ggplot2点图+线性趋势+公式+R2+p值
    GTEx数据库-TCGA数据挖掘的好帮手
    limma, edgeR, deseq2,genefilter计算差异R包的foldchange方法差别
  • 原文地址:https://www.cnblogs.com/hellovoidworld/p/4119721.html
Copyright © 2011-2022 走看看