美文网首页
Tomi_iOS开发周报(第一期)

Tomi_iOS开发周报(第一期)

作者: Tony_Qt | 来源:发表于2015-07-29 17:45 被阅读0次

    标签(空格分隔): ios 开发中的那些坑


    [TOC]

    一、UITableview 使用技巧分享

    分享人:@钱萌丹 @官洋 @老戴

    tableViewCell 选中后背景View更换

    // 使用selectedBackgroundView 可设置tableViewCell选中背景
    // 注意使用该属性的前提是,UITableViewCell的选中状态类型不能设置为UITableViewCellSelectionStyleNone
    tableViewCell.selectedBackgroundView 
    

    cell下方分割线如何缩进

    #pragma mark 设置tableview分割线到顶端
    -(void)viewDidLayoutSubviews{
        
        NSLog(@"%s",__FUNCTION__);
        if ([self.mainTableView respondsToSelector:@selector(setSeparatorInset:)]) {
            [self.mainTableView setSeparatorInset:UIEdgeInsetsMake(0,0,0,0)];
        }
        
        if ([self.mainTableView respondsToSelector:@selector(setLayoutMargins:)]) {
            [self.mainTableView setLayoutMargins:UIEdgeInsetsMake(0,0,0,0)];
        }
    }
    
    #pragma mark delegate
    -(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
    {
        // 解决separator 线的缩进
        if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
            [cell setSeparatorInset:UIEdgeInsetsZero];
        }
       // 解决tableViewCell 8像素缩进 
        if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
            [cell setLayoutMargins:UIEdgeInsetsZero];
        }
    }
    

    二、UIScrollView 使用技巧分享

    分享人 : @李锐

    如果想设置UIScrollView的偏移量?

    scrollView.contentInset = UIEdgeMake(64, 0, 0, 0);
    

    三、UIImage 使用技巧分享

    分享人: @王孜

    UIImage 之前加载使用的file删除,再次存储UIImage到文件失败

    • BUG出现描述
      <Error>: ImageIO: CGImageReadCreateDataWithMappedFile 'open' failed '路径'
      error = 2 (No such file or directory)

    • BUG出现操作还原

    1. 从本地沙盒读取图片,加载到UIimageViews上。

    2. 删除沙盒里的图片。

    3. 将UIImageView里的图片保存到本地沙盒时,BUG出现。

    • BUG出现原因解析与解决方法
      原因:保存时,图片已经不存在了,所以保存失败。
      解决方案:从路径读取图片后,先转换成NSData,再生成一张新的image,之后保存就OK。

    // 正确做法
       UIImage *tempImage = [[UIImage alloc] initWithContentsOfFile:filePath];
       NSData *tempData = UIImagePNGRepresentation(tempImage);
       UIImage *newImage = [UIImage imageWithData:tempData];
    // 错误做法
        UIImage *newImage = [[UIImage alloc] initWithContentsOfFile:filePath];
    

    相关文章

      网友评论

          本文标题:Tomi_iOS开发周报(第一期)

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