2016-04-20 2 views
0

В 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

Красный: Реальный результат. Зеленый: ожидается.

Может ли кто-нибудь объяснить причину этого? Спасибо.

+0

set photoImageView.clipsToBounds = YES; –

ответ

0

попробовать, изменив значение радиуса угла

photoImageView.image = [UIImage imageNamed:@"iphone"]; // 1px height x 1 px width 
photoImageView.contentMode = UIViewContentModeScaleToFill; 
photoImageView.layer.cornerRadius = 5.0; 
photoImageView.layer.masksToBounds = YES; 
+0

Даже я установил angleRadius в 1, он все равно отображает круг. Я могу решить проблему, но я не знаю причины, мне просто нужно знать, почему проблема возникает. –

0

Set masksToBounds = YES

photoImageView.layer.masksToBounds=YES; 

и установить режим ImageView Аспект Fill или Aspect Fit.

+0

Thank Miteh. Я не собираюсь получать круг UIImageView, но у меня есть круг. И я не знаю, почему у меня есть круг? –

+0

установить другое изображение для вас UIimageView и проверить его. photoImageView.image = [UIImage imageNamed: @ "1.jpg"]; photoImageView.layer.cornerRadius = 20.0; photoImageView.layer.masksToBounds = YES; Я проверяю ваш проект и его работу. видеть это . в проекте вы устанавливаете clipstobound = да, поэтому изображение стало кругом. –

+0

Привет, Митеш, каково измерение «1.jpg»? Вы пытаетесь создать 1x1 изображение на iOS 9.3? –

Смежные вопросы