【问题标题】:Circular ImageView iOS 8 / Xcode 6圆形图像视图 iOS 8 / Xcode 6
【发布时间】:2014-12-04 05:57:57
【问题描述】:

我已经四处寻找,但似乎仍然无法做到这一点。我正在尝试在 iOS 8 中实现圆形图像。在 Xcode 6 之前,我认为答案应该是 imageView.layer.cornerRadius 属性。我已经尝试过了,但现在在 Xcode 6 和 iOS 8 中使用自动布局,我认为这是导致问题的原因,它似乎无法正常工作。形状不是圆形,而是一些看起来像眼睛的形状或变形的椭圆形,它从来都不是完美的圆形。是否还有其他方法可以通过 Autolayout 实现这一目标?

【问题讨论】:

标签: ios objective-c xcode


【解决方案1】:

检查 UIImageView 的高度和宽度。应该是一样的。如果不是他们成功了。之后

imageView.layer.cornerRadius = imageView.frame.size.width/2;

或

imageView.layer.cornerRadius = imageView.frame.size.height/2;

两条线都适合你。

【讨论】:

  • 你也应该将 clipsToBounds 设置为 true。
【解决方案2】:

我正在使用 Xcode6 并使用 ios8 进行检查。

您的 Imageview 的 height 和 width 应该相同。

下面的代码对我来说很好。

yourImageView.layer.cornerRadius = img.frame.size.height /2;
yourImageView.layer.masksToBounds = YES;
yourImageView.layer.borderWidth = 0.1;

希望它也对你有用。

【讨论】:

    【解决方案3】:

    试试这个代码,圆角半径应该是提供的照片视图的宽度或高度的一半,并且它必须是方形的。

    所以代码是这样的

    [self.photoView.layer setCornerRadius:CGRectGetHeight(self.photoView.frame)/2];
    [self.photoView.layer setMasksToBounds:YES];
    

    在 ios 6 及更高版本(包括 ios 8)上也能正常工作。

    【讨论】:

      【解决方案4】:

      实现以下代码将解决您的问题。

      self.imageView.layer.cornerRadius = self.imageView.frame.size.width / 2;
      self.imageView.clipsToBounds = YES;
      

      如果是AutoLayout的问题。清除约束,设置间距并勾选Aspect ratio。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-03-17
        • 2017-09-20
        • 2016-12-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多