tips

UIView动画

使用[UIView animateWithDuration:...]执行动画改变view期间不宜重新加载view中的数据,尤其是有滑动操作的时候。(比如UITableView、UICollectionView等,最好在动画执行之前重载数据。)

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    //最好在这里执行reloadData
    [self.tableView reloadData];
    [UIView animateWithDuration:0.4 animations:^{
        self.tableView.contentOffset = CGPointZero;
        self.tableView.frame = CGRectMake(0, 100, 414, 500);
    }];

    //在这里执行reloadData容易crash
    [self.tableView reloadData];
}

设置挡住导航栏的半透明背景

UIWindow *currentWindow = [UIApplication sharedApplication].keyWindow;
[currentWindow addSubview:backgroundView];

内存泄漏有两种:第一是真正的内存泄漏,一个对象尚未被释放,但是已经不在被引用了;第二类泄漏比较麻烦些,就是所谓的“无界内存增长“,就是内存还在继续分配,但是永远没有机会释放。如果一直这样下去,你的程序占用内存将会无限大,最终被系统的看门狗给kill掉。

//第一次调用此方法时不会从复用池取已有cell,而是新建cell并且新加一个复用ID;
//[self.tableView reloadData]是从复用池取出
[self.tableView reloadRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:0 inSection:0]]
                      withRowAnimation:UITableViewRowAnimationFade];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值