Как восстановить закругленные углы для UITableViewCell, заполненного изображением? - PullRequest
5 голосов
/ 18 ноября 2009

У меня есть UITableViewCell, и я хочу использовать свойство изображения, чтобы заполнить его изображением. Когда он первый в сгруппированном UITableView, я хочу, чтобы он имел стандартные закругленные углы.

К сожалению, изображение также заполняет закругленные углы. Есть ли способ сохранить их без использования прозрачного изображения?

Ответы [ 2 ]

2 голосов
/ 26 ноября 2009


Вы можете программно закруглить углы любого вида, используя его свойство layer. Если вы поиграете со свойством cornerRadius слоя, вы сможете достичь желаемых результатов.

#include <QuartzCore/QuartzCore.h>

UIImage *myImage = [UIImage imageNamed:@"image.png"];
UIImageView *imgView = [[UIImageView alloc] initWithImage:myImage];
imgView.layer.cornerRadius = 10.0;

Если вы просто хотите скруглить некоторые из углов, вы должны взглянуть на UIBezierPath API и использовать путь для маскировки вашего изображения. Это не проверено, но оно должно указать вам правильное направление:

UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:cell.bounds
                                           byRoundingCorners:UIRectCornerTopLeft | UIRectCornerTopRight
                                                 cornerRadii:CGSizeMake(10.0, 10.0)];

CAShapeLayer *maskLayer = [CAShapeLayer layer];
maskLayer.frame = imageView.frame;
maskLayer.path = path;
imageView.layer.mask = maskLayer;
0 голосов
/ 18 ноября 2009

Я только что заставил мои непрозрачные изображения иметь закругленный угол. Сделайте снимок экрана, чтобы получить размеры закругленного угла, а затем используйте его в качестве основы для вашего изображения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...