【发布时间】:2016-04-21 12:43:03
【问题描述】:
我面临一个奇怪的问题,并且确信我监督了一些明显的事情: 我想得到一个像这样的圆形图像:
我执行以下操作来圆我的 UIImageView 的角:
testImage.Layer.CornerRadius = testImage.Frame.Size.Height * 0.5f;
testImage.ClipsToBounds = true;
在我的故事板中,ImageView 的左右约束为 60,顶部为 92,纵横比为 1:1。
但是,当我运行该应用程序时,我在 iPhone 6plus 上收到以下信息:
我用 CornerRadius 玩了一下,可以在 iPhone 5 上生成 100、iPhone 6 上 125 和 iPhone 6plus 上 150 的所需圆。
当我从这样的代码生成所有内容时:
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);
我的故事板做错了吗?
提前致谢!
【问题讨论】:
-
在您的第一个实例中,您假设高度和宽度相等,因为纵横比设置为 1:1;在您的第二个实例中,您实际上是在创建一个
UIImageView,它将高度和宽度设置为相等的值。如果将纵横比约束的优先级设置为高于任何其他约束的优先级的数字,则应该得到一个圆圈。
标签: c# ios xamarin uikit uistoryboard