加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

是否可以使用Swift旋转IBDesignable UIButton?

发布时间:2020-12-14 04:59:25 所属栏目:百科 来源:网络整理
导读:如何制作具有角度的IBDesignable组件:旋转视图的CGFloat属性 import UIKit@IBDesignableclass MyB: UIButton { @IBInspectable var angle: CGFloat = 0 { didSet { //What to put here? } } override init(frame: CGRect) { super.init(frame: frame) // In
如何制作具有角度的IBDesignable组件:旋转视图的CGFloat属性

import UIKit

@IBDesignable
class MyB: UIButton {
    @IBInspectable
    var angle: CGFloat = 0 {
        didSet {
            //What to put here?
        }
    }

    override init(frame: CGRect) {
        super.init(frame: frame)
        // Initialization code
    }

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

我试过了

self.transform = CGAffineTransformMakeRotation(angle)

但它不起作用

解决方法

您应该创建从UIButton继承的CustomButton

import UIKit

@IBDesignable
class CustomButton: UIButton {

    @IBInspectable var rotation: Double = 0 {
        didSet {
            rotateButton(rotation: rotation)
        }
    }

    func rotateButton(rotation: Double)  {
        self.transform = CGAffineTransform(rotationAngle: CGFloat(.pi/2 + rotation))
    }
}

你会得到以下输出,

enter image description here

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读