iOS在uitableview单元格中设置图像宽度

时间:2015-08-05 14:34:45

标签: ios swift uitableview

我不确定为什么我的图片在我的tableview单元格中的宽度不相同

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{    
if (self.mySearchController.active)
    {

cell.imageView?.contentMode = UIViewContentMode.ScaleAspectFill
cell.imageView?.frame = CGRectMake(40, 60, 60, 24)
cell.imageView?.image = decodedimage
cell.imageView?.clipsToBounds = true
return cell
}}

输出:

enter image description here

如何将所有图像设置为固定宽度,然后再将其设置为我的单元格

5 个答案:

答案 0 :(得分:0)

UITableViewCell.imageView将调整图像大小以适合单元格高度。如果你想要一个固定的宽度,你可以试试这个:

image = [UIImage imageWithCGImage:decodedimage.CGImage 
                            scale:fixedWidth / decodedimage.width
                      orientation:decodedimage.imageOrientation];

答案 1 :(得分:0)

你需要做的三件事:

  1. 设置您希望图像使用代码或故事板的帧大小(以及使用autoLayout时的约束)。
  2. 设置image.contentMode以按照您希望的方式缩放图像
  3. 在代码或情节提要中将图片的剪辑设置为边界属性为TRUE / YES。
  4. 这应该确保您的UIImageView将是您想要的大小并在其范围内包含图像。

答案 2 :(得分:0)

我刚测试过它。你应该添加

cell.imageView.contentMode = UIViewContentModeScaleAspectFit;

in

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {}.

然后你会发现它有效。

答案 3 :(得分:0)

尝试在您的手机中添加ImageView。这样你就可以更好地控制它。

我现在不在Mac上,所以请原谅语法错误。

UIImageView cellImg = [[UIImageView alloc] init];
cellImg.contentMode = UIViewContentModeScaleAspectFill;
cellImg.frame = CGRectMake(40, 60, 60, 24);
cellImg.image = decodedimage;
cellImg.clipsToBounds = true;

[cell.addSubview cellImg];

答案 4 :(得分:0)

您应该为表格视图单元格创建自定义类。 不要将名称imageView用于UIImage对象,因为它具有一些保留属性。