正确使用宽高比方面填写iOS Xcode

时间:2015-08-02 18:35:13

标签: ios objective-c uitableview uiimageview aspect-ratio

宽高比“缩放以填充”“Aspect Fit”使图像拉伸到整个UIImageView大小。如何使用Aspect Fill“在UITableViewCell内部进行UIImageView.UITableViewCell内的UIImageView在 Aspect Fill 中用完了屏幕。我想让图像采取原始尺寸而不是伸展但我希望防止它在其下部单元格上形成重叠。如果它低于下部单元格则更好。

首先缩放以填充第二个 Aspect Fill

enter image description here 我想使用 Aspect Fill 并获得如下收益:

enter image description here

我使用以下选择图像模式

enter image description here

我的代码

Cell.m

- (void)awakeFromNib {
     _img.clipsToBounds = YES;
    _img.contentMode = UIViewContentModeScaleAspectFill;
}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
    [super setSelected:selected animated:animated];
  }

VCUIViewController.m

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    if (indexPath.section == 0) {
        static NSString *CellIdentifier = @"NoticiasDetailImageCell";
        NoticiasDetailImageCell *cell = (NoticiasDetailImageCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        if (cell == nil) {
            NSArray *nib = [[NSBundle mainBundle] loadNibNamed:CellIdentifier owner:self options:nil];
            cell = (NoticiasDetailImageCell *)[nib objectAtIndex:0];
        }
        cell.img.image = self.img;
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
        return cell;

    }

1 个答案:

答案 0 :(得分:6)

你应该尝试使用:

image.clipsToBounds = YES;
image.contentMode = UIViewContentModeScaleAspectFill;

它能给你带来理想的效果吗?