Xcode UIImageView закругленные углы не работает - PullRequest
1 голос
/ 17 октября 2011

Я хотел, чтобы UIImageView отображался с закругленными углами, и нашел следующий код для этого при переполнении стека:

loginImage = [[UIImageView alloc] initWithImage: [UIImage imageNamed:@"BlueSky.jpg"]];
CALayer *l = [loginImage layer];
[l setMasksToBounds:YES];
[l setCornerRadius:5.0];

[loginImage release];

Я добавил этот код в метод viewDidLoad, но, к сожалению, UIImageView этого не делаетдай мне закругленные углы, которые я ожидал.Я правильно связал imageview «loginImage» в Интерфейсном Разработчике.

Есть идеи, что я здесь не так делаю?Спасибо!

Ответы [ 2 ]

1 голос
/ 17 октября 2011

Если вы создаете свой UIImageView с помощью Interface Builder, вам на самом деле не нужно создавать его вручную в коде.
Итак, если вы создаете свой UIImageView с IB, код должен выглядеть следующим образом.

CALayer *l = [loginImage layer];
[l setMasksToBounds:YES];
[l setCornerRadius:5.0];
loginImage.layer = l;

также для начинающих полезно прочитать управление памятью

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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...