快速制作图像?

时间:2015-07-07 19:42:51

标签: ios swift xcode6

我正在尝试将图片制作成圆形,出于某种原因,下面的代码正在创建一个菱形照片:

    profilePicture.layer.cornerRadius = profilePicture.frame.size.width / 2
    profilePicture.clipsToBounds = true

如何围绕它?谢谢!

4 个答案:

答案 0 :(得分:3)

你可能遗漏了一些东西,下面的代码对我有用:

            profilePicture.layer.borderWidth=1.0
            profilePicture.layer.masksToBounds = false
            profilePicture.layer.borderColor = UIColor.whiteColor().CGColor
            profilePicture.layer.cornerRadius = profilePicture.frame.size.height/2
            profilePicture.clipsToBounds = true

注意:要获得完美的圆形,图像视图框应为方形。

答案 1 :(得分:3)

它显示菱形,因为您在视图大小更改之前设置了cornerRadius。

这会产生钻石形状:

var myView = UIView(frame: CGRect(x: 10, y: 10, width: 100, height: 100))
myView.backgroundColor = UIColor.redColor()
view.addSubview(myView)
myView.layer.cornerRadius = myView.frame.size.width / 2
// setting frame doesn't change corner radius from the former large value
myView.frame = CGRect(x: 50, y: 50, width: 50, height: 50)

您可以在显示视图之前立即设置此项,方法是viewWillAppear:

答案 2 :(得分:0)

要获得圆形的任何UIImageview,您需要先将其框架设置为方形。例如,如果您UIImageView有框架(20,20,100,100),请看高度和宽度是否相同。然后,您需要将cornerradius的{​​{1}}属性设置为高度 高度宽度一半

我在Xamarin.iOS做了类似的事情: -

UIImageview

答案 3 :(得分:0)

尝试一下对我有用,我只是添加了一个自我。在命令

之前
    self.profilePicture.frame.size.width / 2;
    self.profilePicture.clipsToBounds = true;

希望它能起作用:)