美文网首页
总结iOS项目开发中遇到的一些坑

总结iOS项目开发中遇到的一些坑

作者: 小蜗牛成长记 | 来源:发表于2017-07-18 17:36 被阅读0次

    【1】对于数位比较大的数字,要注意使用longlong来声明,避免CPU分配内存不够出现bug。

    本人在时间戳与时间的相互转化的时候遇到此类问题,导致显示出来的时间总是不正确,谨以此提醒自己和广大开发者朋友们。下面列出时间与时间戳之间的相互转化代码:
    

    【2】 对于整体使用xib或storyboard做UI的项目,如果需要使用代码来添加控件,设置控件约束时应该注意,关掉translatesAutoresizingMaskIntoConstraints这个属性,这个属性默认是打开的,打开的情况下该控件不受约束控制。

    如下,reusable 是使用xib添加的view,在此reusable视图上使用代码添加一个图片imageView视图。

     //显示图片
        UIImageView * imageView = [reusable viewWithTag:1001];
        if (!imageView) {
            imageView = [[UIImageView alloc]init];
            imageView.tag = 1001;
            imageView.backgroundColor = [UIColor clearColor];
            [reusable addSubview:imageView];
        }
        
        NSLayoutConstraint * imageLead = [NSLayoutConstraint constraintWithItem:label attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:imageView attribute:NSLayoutAttributeLeft multiplier:1 constant:-10];
        
        NSLayoutConstraint *imageCenter = [NSLayoutConstraint constraintWithItem:label attribute:NSLayoutAttributeCenterY relatedBy:NSLayoutRelationEqual toItem:imageView attribute:NSLayoutAttributeCenterY multiplier:1 constant:0];
    
        [NSLayoutConstraint activateConstraints:@[imageLead,imageCenter]];
        imageView.translatesAutoresizingMaskIntoConstraints = NO ; //imageView的这个属性一定要关掉,不然imageView不会显示
        
        NSString * imageName = [self.headers[indexPath.section]objectForKey:@"image"];
        imageView.image = [UIImage imageNamed:imageName];
    
        [reusable layoutIfNeeded];
    

    【3】一个viewController只能弹出一个presentView,所以如果同一个viewcontroller,之前已经有view通过present加在当前viewcontroller上了,那么再弹出其他的就无效了。

    【4】在xib或storyboard搭建页面时,如果底层是个scrollView,想要scrollView的内容高度随着tableView或collectionView的高度而改变,可以在scrollView上加一个contentview,将scrollView的所有子view加入到该contentview上。

    相关文章

      网友评论

          本文标题:总结iOS项目开发中遇到的一些坑

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