zoukankan      html  css  js  c++  java
  • IOS 照片浏览器总结(思想步骤)

    1. 界面分析
    ========================================
    1> 需要读取或修改属性的控件需要设置属性
    // 序号标签
    // 图片
    // 图片描述
    // 左边按钮
    // 右边按钮
    2> 需要监听响应事件的对象,需要添加监听方法
    // 左边按钮
    // 右边按钮

    2. 手码懒加载创建控件的步骤
    ========================================
    1> 定义控件属性,注意:属性必须是strong的,示例代码如下:
    @property (nonatomic, strong) UIImageView *icon;
    2> 在属性的getter方法中实现懒加载,示例代码如下:
    - (UIImageView *)icon
    {
        if (!_icon) {
            // 计算位置参数
            CGFloat imageW = 200;
            CGFloat imageX = (320 - imageW) / 2;
            CGFloat imageH = 200;
            CGFloat imageY = 80;
            // 实例化图像视图
            _icon = [[UIImageView alloc] initWithFrame:CGRectMake(imageX, imageY, imageW, imageH)];
            // 将图像视图添加到主视图
            [self.view addSubview:_icon];
        }
        return _icon;
    }

    使用懒加载的好处:
    1> 不必将创建对象的代码全部写在viewDidLoad方法中,代码的可读性更强
    2> 每个控件的getter方法中分别负责各自的实例化处理,代码彼此之间的独立性强,松耦合

    3. 使用Plist文件
    ========================================
    使用Plist文件的目的:将数据与代码分离

    加载方法:
    NSString *path = [[NSBundle mainBundle] pathForResource:@"ImageData" ofType:@"plist"];
    _imageList = [NSArray arrayWithContentsOfFile:path];

    提示:通常在方法中出现File字眼,通常需要传递文件的全路径作为参数



  • 相关阅读:
    CDQ分治·学习笔记
    高斯消元板子
    [HEOI2012]朋友圈
    [CTSC2008]祭祀
    Medium | LeetCode 140. 单词拆分 II | 回溯(递归)
    Hard | LeetCode 212. 单词搜索 II | 回溯 + 前缀树
    Medium | LeetCode 131. 分割回文串 | 回溯 + 动态规划预处理
    Hard | LeetCode 329. 矩阵中的最长递增路径 | 矩阵+DFS
    Hard | LeetCode 76. 最小覆盖子串 | 滑动窗口
    Medium | LeetCode 130. 被围绕的区域 | 矩阵 + DFS
  • 原文地址:https://www.cnblogs.com/liuwj/p/6869643.html
Copyright © 2011-2022 走看看