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

Swift – 如何在自定义类中设置UIBarButtonItem的图像

发布时间:2020-12-14 04:28:05 所属栏目:百科 来源:网络整理
导读:嗨,我有一个UIBarButton Image的自定义类: class CheckBoxBarButton : UIBarButtonItem { // images let checkedImage = UIImage(named: "img_checked")! as UIImage let unCheckedImage = UIImage(named: "img_unchecked")! as UIImage //bool property va
嗨,我有一个UIBarButton Image的自定义类:

class CheckBoxBarButton : UIBarButtonItem {

    // images
    let checkedImage = UIImage(named: "img_checked")! as UIImage
    let unCheckedImage = UIImage(named: "img_unchecked")! as UIImage

    //bool property
    var isChecked: Bool = false {
        didSet{
            if isChecked == true {

                // here I want to set the checked image for my bar button

            }else{

                // here I want to set the unchecked image for my bar button
            }
        }
    }

    override func awakeFromNib() {

// here I want to add a target when the button is touched.
// the actual code is returning an error because UIBarButtonImage doesnt not have addtarget
        self.addTarget(self,action: #selector(CheckBoxBarButton.buttonClicked(_:)),forControlEvents: UIControlEvents.TouchUpInside)

        self.isChecked = false
    }
}

Any clue?

解决方法

您可以使用图像创建一个按钮,并将UIBarButtonItem的customView设置为您的按钮:

let button = UIButton()
button.setImage(checkedImage )// or button.setImage(unCheckedImage) based on the conditions
button.frame = CGRectMake(0,30,30)
self.customView = button

或者,如果已经定义了按钮,则设置customView图像:

self.customView.setImage(checkedImage )

(编辑:李大同)

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

    推荐文章
      热点阅读