项目学习知识点备忘1

    xiaoxiao2021-03-25  40

    1、让SVProgressHUD提示框自动消失

    // 延迟2秒后消失

    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ [SVProgressHUD dismiss];});

    2、正确创建dispatch_time_t

    用dispatch_after的时候就会用到dispatch_time_t变量,但是如何创建合适的时间呢?答案就是用dispatch_time函数,其原型如下:

    1 dispatch_time_t dispatch_time ( dispatch_time_t when, int64_t delta );

    第一个参数一般是DISPATCH_TIME_NOW,表示从现在开始。

    那么第二个参数就是真正的延时的具体时间。

    这里要特别注意的是,delta参数是“纳秒!”,就是说,延时1秒的话,delta应该是“1000000000”=。=,太长了,所以理所当然系统提供了常量,如下:

    1 2 3 #define NSEC_PER_SEC 1000000000ull #define USEC_PER_SEC 1000000ull #define NSEC_PER_USEC 1000ull

    关键词解释:

    NSEC:纳秒。

    USEC:微妙。

    SEC:秒

    PER:每

    所以:

    NSEC_PER_SEC,每秒有多少纳秒。

    USEC_PER_SEC,每秒有多少毫秒。(注意是指在纳秒的基础上)

    NSEC_PER_USEC,每毫秒有多少纳秒。

    所以,延时1秒可以写成如下几种:

    dispatch_time(DISPATCH_TIME_NOW, 1 * NSEC_PER_SEC);

    dispatch_time(DISPATCH_TIME_NOW, 1000 * USEC_PER_SEC);

    dispatch_time(DISPATCH_TIME_NOW, USEC_PER_SEC * NSEC_PER_USEC);

    最后一个“USEC_PER_SEC * NSEC_PER_USEC”,翻译过来就是“每秒的毫秒数乘以每毫秒的纳秒数”,也就是“每秒的纳秒数”,所以,延时500毫秒之类的,也就不难了吧~

    3、 iOS:tableView的类型改为Grouped组头出现默认的高度

    -(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ return 0.1; }

    转载请注明原文地址: https://ju.6miu.com/read-150328.html

    最新回复(0)