在swift4中使按钮变为圆形

sri*_*gde 2 xcode uibutton uistoryboard swift4 ios11

我从Storyboard中添加了一些按钮(不是通过代码)。我想把它做成圆形。我该怎么做?我不想从代码中添加一个圆形按钮,而是从情节提要中添加一个圆形按钮。

tec*_*erd 6

您甚至可以在情节提要中利用它IBDesginable来制作UIButton圆形。

RoundButton在您的项目中添加此类。

@IBDesignable class RoundButton : UIButton{

    override init(frame: CGRect) {
        super.init(frame: frame)
        sharedInit()
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        sharedInit()
    }

    override func prepareForInterfaceBuilder() {
        sharedInit()
    }

    func sharedInit() {
        refreshCorners(value: cornerRadius)
    }

    func refreshCorners(value: CGFloat) {
        layer.cornerRadius = value
    }

    @IBInspectable var cornerRadius: CGFloat = 15 {
        didSet {
            refreshCorners(value: cornerRadius)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

请按照以下步骤在Storyboard中进行设计。

  1. 添加UIButtonviewcontroller并设置一些背景色。

在此处输入图片说明

  1. 设置宽度和高度相同。这两个都是100。

在此处输入图片说明

  1. 现在您可以看到Corner Radius我们在RoundButton类中声明的另一个名为我们的属性。将其设置为宽度/高度的一半的50。您可以根据需要进行设置。

在此处输入图片说明

现在,您可以在情节提要中看到圆角按钮。您无需运行代码即可查看更改。您可以在任何其他项目中重用类,以使按钮变为圆形。

有关IBDesignable的更多信息。