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;
    }

    结果如下:

    很开心。。。完美解决

  • 相关阅读:
    DirectX9:基础篇 第六章 颜色
    DirectX9:应用篇 论OBJ模型文件格式
    MFC:绘图基础
    DirectX9:基础篇 纹理
    DirectX9:应用篇 论OBJ模型文件和.X模型文件互转
    MFC:控件位置调整
    数据结构:二叉树
    DirectX9:总结篇 数据类型结构
    C89:论结构体/枚举体/联合体的使用
    css布局汇总
  • 原文地址:https://www.cnblogs.com/kingbo/p/4261954.html
Copyright © 2011-2022 走看看