Kol*_*ley 8 uibutton uiimageview ios swift
我一直试图让细胞中的UIButton成为一个完美的圆圈.不幸的是,圆形是基于背景图像而不是UIButton框架形成的.
我创建圆圈的代码:
cell.StoryViewButton.setImage(image, forState: .Normal)
cell.StoryViewButton.frame = CGRectMake(50, 8, 100, 100)
cell.StoryViewButton.layer.masksToBounds = false
cell.StoryViewButton.layer.cornerRadius = cell.StoryViewButton.frame.width/2
cell.StoryViewButton.clipsToBounds = true
Run Code Online (Sandbox Code Playgroud)
输出如下所示: 
我该怎么做才能得到我想要的完美圆形按钮框架?
Nir*_*v D 15
尝试这样的事情
cell.StoryViewButton.layer.masksToBounds = true
cell.StoryViewButton.layer.cornerRadius = cell.StoryViewButton.frame.width/2
Run Code Online (Sandbox Code Playgroud)
如果需要创建一个视图圆,则必须将masksToBounds设置为true,不要设置clipsToBounds
希望这会帮助你.
雨燕4
您可以将以下函数应用于任何视图,包括按钮。
func makeViewCircular(view: UIView) {
view.layer.cornerRadius = view.bounds.size.width / 2.0
view.clipsToBounds = true
}
Run Code Online (Sandbox Code Playgroud)
伟大的。
不过,一开始这对我不起作用,因为我将它应用到了 viewDidLoad 中。此时,约束仍在影响按钮的大小,并且角半径应用于它认为是两倍大小的按钮,从而导致您拥有奇怪的形状。要将正确的值应用于正确的测量,请将代码放在 中override func viewDidLayoutSubviews()。
我知道这可能是我个人流程中的一个更具体的案例,但我确信它会对某人有所帮助。