在 UIImageView 上设置角半径不起作用

Setting Corner Radius on UIImageView not working(在 UIImageView 上设置角半径不起作用)

本文介绍了在 UIImageView 上设置角半径不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有点不知所措.我已经使用 UIView 的 layer 属性来圆我应用程序中多个元素的角.但是,这一个 UIImageView 根本不符合要求.不知道我错过了什么.

I'm at a bit of a loss. I've used the layer property of UIView to round the corners of multiple elements in my app. However, this one UIImageView is simply not complying. Not sure what I am missing.

UIImageView(称为 previewImage)包含在 Table View Cell 中.我尝试将cornerRadius 属性设置为多个位置(在单元格本身和创建单元格的控制器中)无济于事.

The UIImageView (called previewImage) is contained in a Table View Cell. I've tried setting the cornerRadius property multiple location (in the cell itself and in the controller that creates the cell) to no avail.

static NSString *CellIdentifier = @"MyTableViewCell";

MyTableViewCell *cell = (MyTableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:CellIdentifier owner:self options:nil];
    cell = [topLevelObjects objectAtIndex:0];
    cell.previewImage.layer.cornerRadius = 20; //Made it 20 to make sure it's obvious.
}

我缺少关于加载单元格的方式吗?

Is there something about the way cells are loaded that I'm missing?

推荐答案

需要将图层的masksToBounds属性设置为YES:

You need to set the layer's masksToBounds property to YES:

cell.previewImage.layer.masksToBounds = YES;

这是因为 UIImageView 控件创建了一个伪子视图来保存 UIImage 对象.

This is because the UIImageView control creates a pseudo-subview to hold the UIImage object.

这篇关于在 UIImageView 上设置角半径不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:在 UIImageView 上设置角半径不起作用

基础教程推荐