【问题标题】:Make UIView a Circle in Swift [duplicate]在Swift中使UIView成为一个圆圈[重复]
【发布时间】:2015-04-09 05:12:42
【问题描述】:

我试过用谷歌搜索我的问题,但似乎在任何地方都找不到任何东西! 基本上我有一个 UIView,一旦用户登录我的应用程序,它就会检索用户 Facebook 照片。目前它是一个正方形,但我根本不知道如何将 UIView 变成一个圆形...... 任何帮助将不胜感激,我仍在学习! -亚历克斯

这只是将它连接到 UIView..

@IBOutlet var profilePictureView : FBProfilePictureView!

这会将视图设置为用户 FB 个人资料照片

profilePictureView.profileID = user.objectID

在应用程序中,delegate.swift

FBProfilePictureView.self

就是所有的代码,我将 UIView 的类设置为 FBProfilePictureView。

【问题讨论】:

标签: facebook swift uiview geometry


【解决方案1】:

你可以试试这个

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

 profilePictureView.layer.borderColor = UIColor.whiteColor().CGColor
 profilePictureView.layer.borderWidth = 5.0

【讨论】:

  • 唯一的问题是,它不是一个图像视图,而只是一个普通的 UIView。我正在使用 Facebook SDK 检索用户的照片并将其放置在 UiView 中
  • 如何在uiview中放置?
  • 只使用 FBProfilePictureView 类
  • 将掩码设置为fbpictureview.layer.mask = clip layer
  • 它只是提出错误:“预期声明”和“没有名为框架的成员”。
【解决方案2】:

尝试将 UIBezier 路径定义为圆形,然后将其作为剪辑添加到您的视图中:

let circle = UIBezierPath(arcCenter: (CGPoint), radius: (CGFloat), startAngle: 0, endAngle: 2*M_PI)

仔细检查,但我认为 arcCenter 在您的超级视图的坐标系中。

要将其添加为剪切路径,我认为它只是:(您必须查看文档以获取详细信息):

circle.addClip()

【讨论】:

  • 你能帮我解决这个问题吗?或者只是解释一下..我需要帮助来学习,但我在任何地方都找不到任何信息!
  • 谢谢你,但我仍然不确定在哪里或如何实现这个..
  • Alex - 这不是我自己用过的东西,但这是我要开始的地方。我认为您还需要自己的 UIView(即 UIView 的子类),并且绘图和剪辑将在您的 UIView 的 drawRect 函数中实现。
  • 谢谢史蒂夫,我可能会放弃这一点,直到我了解更多。把我搞糊涂了:P
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-06-06
  • 1970-01-01
  • 2012-11-12
  • 1970-01-01
  • 2015-01-08
  • 1970-01-01
  • 2018-12-15
相关资源
最近更新 更多