在UITableView中正确设置UIImageVIew的高度和宽度的方法是什么?

时间:2015-03-15 16:05:52

标签: objective-c uitableview uiimage

我在尝试在TableView中制作图像时不能过大。我将UIImageView拖放到UITableViewCell中并直观地设置高度和宽度(我正在使用Storyboards)。但是当我运行应用程序时,图像看起来过大。无论我做什么(设置约束,CGRectMake和其他方法),图像总是看起来一样。)

这是我的tableView cellForRowAtIndexPath方法:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellID = @"cell";


TFGResultsTableViewCell *cell= [tableView dequeueReusableCellWithIdentifier:cellID forIndexPath:indexPath];

if(cell == nil) {
    cell = [[TFGResultsTableViewCell alloc]
            initWithStyle:UITableViewCellStyleDefault
            reuseIdentifier:cellID];
}
// Configure the cell...
cell.eventnamelabel.text = [eventnameArray objectAtIndex: [indexPath row]];
cell.userLabel.text = [userArray objectAtIndex: [indexPath row]];
cell.sportnameLabel.text = [sportnameArray objectAtIndex: [indexPath row]];

if([cell.sportnameLabel.text isEqualToString:@"Soccer"]){

    // Here I should do something to resize the image!
    cell.imageView.image = [UIImage imageNamed:@"icon.png"];
}

return cell;
}

这些是我当前图像设置的屏幕截图:

enter image description here

enter image description here

enter image description here

最后我得到了解决方案:

cell.imageView.image = [UIImage imageNamed:@"icon.png"]; 

应该改写如下:

cell.eventImage.image = [UIImage imageNamed:@"icon.png"];

1 个答案:

答案 0 :(得分:1)

UITableViewCell中,您创建了一个eventImage的IBOutlet。但在cellForRowAtIndexPath你这样做,

cell.imageView.image = [UIImage imageNamed:@"icon.png"];

以上方式是错误的。你应该这样做。

cell.eventImage.image = [UIImage imageNamed:@"icon.png"];