zoukankan      html  css  js  c++  java
  • UIView、九宫格、封装

    UIView的常见属性

    • NSArray *subviews
      • 所有的子控件
      • 数组元素的顺序决定着子控件的显示层级顺序(下标越大的,越显示在上面)

    UIView的常见方法

    • addSubview:
      • 添加一个子控件
      • 使用这个方法添加的子控件会被塞到subviews数组的最后面
    • 可以使用下面的方法调整子控件在subview数组中的顺序
    // 将子控件view插入到subviews数组的index位置
    - (void)insertSubview:(UIView *)view atIndex:(NSInteger)index;
    
    // 将子控件view显示到子控件siblingSubview的下面
    - (void)insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview;
    // 将子控件view显示到子控件siblingSubview的上面
    - (void)insertSubview:(UIView *)view aboveSubview:(UIView *)siblingSubview;
    
    // 将子控件view放到数组的最后面,显示在最上面
    - (void)bringSubviewToFront:(UIView *)view;
    // 将子控件view放到数组的最前面,显示在最下面
    - (void)sendSubviewToBack:(UIView *)view;
    

    九宫格计算思路

    • 利用控件的索引index计算出控件所在的行号和列号
    • 利用列号计算控件的x值
    • 利用行号计算控件的y值

    HUD

    • 其他说法:指示器、遮盖、蒙板
    • 半透明HUD的做法
      • 背景色设置为半透明颜色

    定时任务

    • 方法1:performSelector
    // 1.5s后自动调用self的hideHUD方法
    [self performSelector:@selector(hideHUD) withObject:nil afterDelay:1.5];
    
    • 方法2:GCD
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        // 1.5s后自动执行这个block里面的代码
        self.hud.alpha = 0.0;
    });
    
    • 方法3:NSTimer
    // 1.5s后自动调用self的hideHUD方法
    [NSTimer scheduledTimerWithTimeInterval:1.5 target:self selector:@selector(hideHUD) userInfo:nil repeats:NO];
    // repeats如果为YES,意味着每隔1.5s都会调用一次self的hidHUD方法
    

    常见问题

    • 项目里面的某个.m文件无法使用
      • 检查:Build Phases -> Compile Sources
    • 项目里面的某个资源文件(比如plist、音频等)无法使用
      • 检查:Build Phases -> Copy Bundle Resources

    模型

    • 什么是模型?
      • 专门用来存放数据的对象
      • 一般都是一些直接继承自NSObject的纯对象
      • 内部会提供一些属性来存放数据

    一个控件看不见有哪些可能?

    • 宽度或者高度其实为0
    • 位置不对(比如是个负数或者超大的数,已经超出屏幕)
    • hidden == YES
    • alpha <= 0.01
    • 没有设置背景色、没有设置内容
    • 可能是文字颜色和背景色一样
  • 相关阅读:
    phpcms V9实现QQ登陆OAuth2.0
    PHP程序员的技术成长规划(送给迷茫的你)
    php实现冒泡排序
    php实现堆排序
    网络抓包以及进行简单数据分析
    网络编程之套接字(tcp)
    网络编程之套接字(udp)
    C语言之位运算
    linux线程及互斥锁
    嵌入式常用英文缩写及单词整理
  • 原文地址:https://www.cnblogs.com/songlei0601/p/5782337.html
Copyright © 2011-2022 走看看