Я столкнулся странные проблемы, и я уверен, что я надзирать что-то очевидное: Я хочу, чтобы получить круглое изображение вроде этого: Проблемы создания круглый UIImageView с раскадровки [Xamarin]
я выполнить следующие действия округлить углы моего UIImageView:
testImage.Layer.CornerRadius = testImage.Frame.Size.Height * 0.5f;
testImage.ClipsToBounds = true;
в моей раскадровку ImageView имеет ограничение на левый и правый 60, топ 92 и соотношение сторон 1: 1.
Однако, когда я запустить приложение я получаю следующее на iPhone 6plus:
Я играл немного вокруг с 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);
я получить ожидаемый результат:
я делаю что-то неправильно с раскадровки?
Заранее благодарен!
В первом случае вы считаете, что высота и ширина равны, так как для параметра Aspect Ratio установлено значение 1: 1; во втором случае вы создаете 'UIImageView', который устанавливает высоту и ширину равными значениями. Если вы установите для параметра «Приоритет ограничения формата» значение, превышающее приоритет любого другого ограничения, вы должны получить круг. – GlennRay