Как сделать закругленные углы на изображении в uiimageview? - PullRequest
1 голос
/ 01 сентября 2010

У меня есть изображение в окне просмотра. изображение не заполняет весь вид изображения. Я пытаюсь создать границу с закругленными углами, но только вокруг изображения, а не всего изображения. Не могу понять, как это получить. У меня

homeButtonImage.layer.cornerRadius = 5;
homeButtonImage.layer.masksToBounds = YES;
homeButtonImage.layer.borderColor = [UIColor blackColor].CGColor;
homeButtonImage.layer.borderWidth = 3.0;

но это очерчивает границу всего изображения uiimage, а не только uiimage. помочь?

РЕДАКТИРОВАТЬ: NVM понял это. У меня это было как IBOutlet, так что все испортилось.

Ответы [ 4 ]

2 голосов
/ 01 сентября 2010

Вам нужно добавить [homeButtonImage setMasksToBounds:YES], иначе оно не будет отражать изменения.

0 голосов
/ 17 июня 2012
-(UIImage *)makeRoundedImage:(UIImage *) image 
                      radius: (float) radius;
{
  CALayer *imageLayer = [CALayer layer];
  imageLayer.frame = CGRectMake(0, 0, image.size.width, image.size.height);
  imageLayer.contents = (id) image.CGImage;

  imageLayer.masksToBounds = YES;
  imageLayer.cornerRadius = radius;

  UIGraphicsBeginImageContext(image.size);
  [imageLayer renderInContext:UIGraphicsGetCurrentContext()];
  UIImage *roundedImage = UIGraphicsGetImageFromCurrentImageContext();
  UIGraphicsEndImageContext();

  return roundedImage;
}
0 голосов
/ 01 сентября 2010

Звоните sizeToFit на просмотр изображений. Это должно привести к изменению его размера в соответствии с размером изображения.

0 голосов
/ 01 сентября 2010

Я полагаю, что самый простой способ состоит в том, чтобы ваш объект UIImageView соответствовал размеру UIImage.Если вам нужно иметь это изображение в представлении фиксированного размера, поместите этот UIImageView в UIView (или другой UIImageView).

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

Вы также можете взять сложный путь и подкласс UIView и переопределить drawRect, обрезая контекст вокруг фактического UIImageи рисовать его с CGContextDrawImage(ctx, rect, image.CGImage), но я думаю, что это излишне.

...