2016-01-15 1 views
0

Я столкнулся странные проблемы, и я уверен, что я надзирать что-то очевидное: Я хочу, чтобы получить круглое изображение вроде этого: Проблемы создания круглый UIImageView с раскадровки [Xamarin]

я выполнить следующие действия округлить углы моего UIImageView:

 testImage.Layer.CornerRadius = testImage.Frame.Size.Height * 0.5f; 
     testImage.ClipsToBounds = true; 

в моей раскадровку ImageView имеет ограничение на левый и правый 60, топ 92 и соотношение сторон 1: 1.

enter image description here

Однако, когда я запустить приложение я получаю следующее на iPhone 6plus: enter image description here

Я играл немного вокруг с CornerRadius и может производить необходимый круг с 100 на iPhone 5, 125 на iPhone 6 и 150 на iPhone 6plus.

Когда я произвожу все из кода, как это:

 var testImage = new UIImageView(new CoreGraphics.CGRect(0, 0, 150, 150)); 
     testImage.Image = UIImage.FromFile ("kitten.jpg"); 
     testImage.Layer.CornerRadius = testImage.Frame.Size.Height * 0.5f; 
     testImage.ClipsToBounds = true; 
     View.Add (testImage); 

я получить ожидаемый результат: enter image description here

я делаю что-то неправильно с раскадровки?

Заранее благодарен!

+0

В первом случае вы считаете, что высота и ширина равны, так как для параметра Aspect Ratio установлено значение 1: 1; во втором случае вы создаете 'UIImageView', который устанавливает высоту и ширину равными значениями. Если вы установите для параметра «Приоритет ограничения формата» значение, превышающее приоритет любого другого ограничения, вы должны получить круг. – GlennRay

ответ

0

Я дважды проверил это в Xcode, так что я положу его в качестве ответа:

В своем первом случае, вы предполагая, что высота и ширина равны, так как соотношение сторон установлено до 1: 1; во втором случае вы на самом деле создаете UIImageView, который устанавливает высоту и ширину равными значениями. Если вы установите для параметра «Приоритет ограничения формата» значение, превышающее приоритет любого другого ограничения, вы должны получить круг.

+0

Привет, Гленн, просто попробовал это: когда я задал все другие приоритеты, например. 750 UIImageView полностью неуместен:/Удалось ли вам держать его в центре экрана? –

+0

Попробуйте использовать только верхнее ограничение и левое ограничение вместе с ограничением по размеру. – GlennRay

+0

Но тогда изображение больше не центрируется ... –

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

  • Нет связанных вопросов^_^