微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

嗨,我有一个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 )

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐