美文网首页
5月28-懒加载,HUD蒙板,plist数据

5月28-懒加载,HUD蒙板,plist数据

作者: 托马斯君 | 来源:发表于2015-05-28 22:34 被阅读206次

基础UI控件综合使用

要求:

写一个程序,类似于淘宝的购物车,用户点击添加按钮,就会把一件商品加入到购物车中,等购物车满了,可以点击删除按钮删除购物
车中商品

设计思想:

把UIImageView和UITextView合并放到一个VIew中,然后用这个整体的View进行布局,点击添加按钮可以

发现几个控件是一个整体,可以先建立一个控件容器,然后把需要的控件都合并到这个容器中

  • 这样可以让一个控件移动大家一起移动
  • 使用UIView作为父控件,提高效率
  • 通过行号和列号来计算布局
  • HUD 指示器 蒙板 遮盖
  • 添加提示框,一般使用背景半透明,文字不用半透明
  • 延时调用的方法,可以用多种方法实现
  • 简书blog
  • 加载plist数据,使用plist文件保存数据
  • 凡是参数名为file的传递的都是文件的全路径
  • 一个NSBundle是苹果推荐的对象资源包,用来访问已知队形的资源包内部的文件,可以用来获取文件的全路径
  • 项目里面的资源包,主资源包里面,项目中添加的资源都会被添加到主资源包种
  • 增加资源包得问题,一般来说要同时Copy和链接进去
    在项目中经常可能会发现明明文件和资源在项目里面,但是不能使用,很有可能是因为没有参与编译和打包,不能使用info.plist
    
  • 懒加载

  • 用到时候在去加载数据,用来提高效率
  • 重写Get方法,用来解决用得时候在加载
  • 模型是专门用来存放数据的对象
  • 九宫格排版控件算法
    详细使用
    按钮状态的控制
    在需要的时候添加指示器-HUD
    使用plist文件保存数据
    一个NSBundle对象对应一个资源包(图片、音频、视频、plis等文件)
    NSBundle的作用:用来访问与之对应的资源包内部的文件,可以用来获得文件的全路径
    项目中添加的资源都会被添加到主资源包中
    [NSBundle mainBundle]关联的就是项目的主资源包
        // 加载plist文件
        NSBundle *bundle = [NSBundle mainBundle];

        // 利用mainBundle获得主资源包中文件的全路径
        NSString *filepath = [bundle pathForResource:@"shops" ofType:@"plist"];

        // 凡是文件参数为File,传递的都是文件全路径
        self.shops = [NSArray arrayWithContentsOfFile:filepath];
    懒加载
    加载plist数据(比较大)
    懒加载:用到时再去加载,而且也只加载一次
    在调用的时候会用到Get方法
    通过重写Get方法,来实现懒加载
    // 重写shops的get方法,实现在调用的时候才加载数据 : 懒加载
    - (NSArray *) shops{
        if (_shops == nil){
            NSString *file = [[NSBundle mainBundle] pathForResource:@"shops" ofType:@"plist"];
            self.shops = [NSArray arrayWithContentsOfFile:file];
        }
        return _shops;
    }
    模型
    建立一个类用来封装数据 : 数据模型类
    instancetype用来定义一个自动获取返回值类型的函数
    // 使用构造函数方法把数据库文件内容赋值给自定义数据模型类
    - (instancetype) initWithDict:(NSDictionary *)Dict{
        if (self = [super init]){
            self.name = Dict[@"name"];
            self.icon = Dict[@"icon"];
        }
        return self;
    }

    // 类方法用来提供快捷初始化对象方法
    + (instancetype) initWihtDict:(NSDictionary *)Dict{
        return [[self alloc] initWithDict:Dict];
    }
    View的封装
    layoutSubviews的调用
    这个方法专门用来布局子控件,一般在这里设置子控件的frame
    当控件本身的尺寸发生改变的时候,系统会自动调用这个方法
    - (void)layoutSubviews
    {
        // 一定要调用super的layoutSubviews
        [super layoutSubviews];

        CGFloat shopW = self.frame.size.width;
        CGFloat shopH = self.frame.size.height;
        self.iconView.frame = CGRectMake(0, 0, shopW, shopW);
        self.nameLabel.frame = CGRectMake(0, shopW, shopW, shopH - shopW);
    }
    UIButton、UIImageView、UILabel的选择

    相关文章

    • 5月28-懒加载,HUD蒙板,plist数据

      基础UI控件综合使用 要求: 设计思想: 发现几个控件是一个整体,可以先建立一个控件容器,然后把需要的控件都合并到...

    • IOS加载plist文件、懒加载与数据模型相关

      现有dogs.plist文件如下 1.如何加载plist文件呢? 2.数据懒加载 按照上面的方式打印,每次都得解析...

    • 字典转模型详解

      第一级别 加载plist文件,直接面对字典开发 设置plist文件(死数据):plist文件 加载plist以及面...

    • 随手记记

      HUD 其他说法:指示器、遮盖、蒙板 半透明HUD的做法背景色设置为半透明颜色 定时任务 方法1:performS...

    • 如何从本地plist文件中加载数据

      从本地plist文件中加载数据

    • NSBundle 需要注意的

      //加载plist数据 NSString*filePath = [[NSBundle mainBundle]pat...

    • 懒加载&Plist文件

      懒加载的由来:不希望每次去调用数据 数据通常是保存在一个可变数组中的 所以通过重写这个成员属性的getter方法 ...

    • UI-plist、懒加载、封装、模型

      1、加载plist文件 文件名不为 info.plist 接下来通过代码来解析Plist文件中的数据获得Plist...

    • fragment 懒加载

      fragment 的懒加载 懒加载 什么是懒加载:只有在 fragment 显示在界面的时候,才进行数据的加载 懒...

    • 项目优化

      图片懒加载,数据懒加载, 路由懒加载 1.图片懒加载原理 1.1 开始时 不设置src属性 1.2 图片在可视区域...

    网友评论

        本文标题:5月28-懒加载,HUD蒙板,plist数据

        本文链接:https://www.haomeiwen.com/subject/zgmrqttx.html