zoukankan      html  css  js  c++  java
  • iOS UITableViewCell 中 调整imageView 的图片大小

        在我的项目中,很多地方都希望将UITableViewCell 中的imageView 能根据自己图片的大小来进行展示,而就为了解决这个问题又觉得重写UITableViewCell 很不值得。

    如下:

       :

    其实我就只有 图片变形的问题。所以我第一时间想到的是调整imageView 内容布局模式以及外框大小

            cell.imageView.contentMode=UIViewContentModeCenter;

             cell.imageView.frame=....

       另外如:

    cell.imageView.autoresizingMask = ( UIViewAutoresizingNone );
    cell.imageView.autoresizesSubviews = NO;
    cell.imageView.contentMode = UIViewContentModeCenter;
    cell.imageView.bounds = CGRectMake(0, 0, 50, 50);
    cell.imageView.frame = CGRectMake(0, 0, 50, 50);
    cell.imageView.image = [UIImage imageWithData: imageData];

    但是这些方法 在UITableViewCell里面都不起作用。。。。

         在网上找了老半天也没有找到,后来还是在stackoverflow 里面找到了一种自己比较喜欢的解决方案,如下:

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
     [...]
            
    //1、首先对image付值
    cell.imageView.image=[UIImage imageNamed:@"灰时间"];
    //2、调整大小
          CGSize itemSize = CGSizeMake(40, 40);
          UIGraphicsBeginImageContextWithOptions(itemSize, NO, UIScreen.mainScreen.scale);
          CGRect imageRect = CGRectMake(0.0, 0.0, itemSize.width, itemSize.height);
          [cell.imageView.image drawInRect:imageRect];
          cell.imageView.image = UIGraphicsGetImageFromCurrentImageContext();
          UIGraphicsEndImageContext();
    
     [...]
         return cell;
    }

    结果如下:

    很开心。。。完美解决

  • 相关阅读:
    作用域面试题
    js··BOM 浏览器对象模型
    js···DOM2动态创建节点
    js ·节点的知识点
    js·逻辑运算
    js···元素的属性
    什么是函数封装。
    hive 历史拉链表的处理
    [转]实现Hive数据同步更新的shell脚本
    python 3 过滤股票
  • 原文地址:https://www.cnblogs.com/kingbo/p/4261954.html
Copyright © 2011-2022 走看看