我面临一个奇怪的问题,我确信我会监督一些明显的事情: 我想得到一个像这样的圆形图像:
我执行以下操作来绕过UIImageView的角落:
testImage.Layer.CornerRadius = testImage.Frame.Size.Height * 0.5f;
testImage.ClipsToBounds = true;
在我的故事板中,ImageView左右限制为60,前92位,AspectRatio为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);
我在故事板上做错了吗?
提前致谢!
答案 0 :(得分:0)
我在Xcode中对此进行了双重检查,因此我将其作为答案:
在您的第一个例子中,您假设高度和宽度相等,因为宽高比设置为1:1;在第二个实例中,您实际上正在创建一个UIImageView,它将高度和宽度设置为相等的值。如果将“纵横比”约束的优先级设置为高于任何其他约束的“优先级”的数字,则应该得到一个圆圈。