В iOS 9.3 у меня есть квадрат UIImageView (например, 200x200), и я пытаюсь назначить UIImage (1x1 пиксель) с cornerRadius, а UIImageView станет кругом. Я думаю, проблема возникла из UIImageView при рендеринге.Как UIImageView в iOS 9.3 предоставляет UIImage?
photoImageView.image = [UIImage imageNamed:@"iphone.jpeg"]; // 1px height x 1 px width
photoImageView.contentMode = UIViewContentModeScaleToFill;
// It can fixed with the below code
// photoImageView.image = [[UIImage imageNamed:@"iphone.jpeg"] stretchableImageWithLeftCapWidth:2 topCapHeight:2];
// photoImageView.contentMode = UIViewContentModeScaleAspectFill;
photoImageView.layer.cornerRadius = 20.0;
photoImageView.layer.masksToBounds = YES;
Если изменить contentMode к ScaleAspectFill или ScaleToFill, или изменить размер UIImage (2х2) или IOS версии ниже 9.3, она работает, как я ожидал.
http://i.imgur.com/kM36GPW.png
Проект: download the sample projec
Красный: Реальный результат. Зеленый: ожидается.
Может ли кто-нибудь объяснить причину этого? Спасибо.
set photoImageView.clipsToBounds = YES; –