swift - 如何更改 Collection View 中的 UIbutton?

标签 swift uibutton

我有一个 Collection View ,每个 View 上都有一个赞按钮。我也有一个刷新按钮,虽然我不知道它是否相关。

如何在按下按钮后更改按钮的图像?

我尝试添加这个,但没有任何反应:

@IBOutlet weak var likeNot: UIButton!



    @IBAction func likeIt(_ sender: UIButton) {

        func viewDidLoad() {
                   super.viewDidLoad()

        self.likeNot.setImage(UIImage(imageLiteralResourceName: "like"), for: .normal)
        self.likeNot.setImage(UIImage(imageLiteralResourceName: "likeSelected"), for: .selected)
//        likeIt.setImage(UIImage(named: "likeSelected"), for: .highlighted)
        }
    }

我还有一个刷新按钮。那会干扰吗?

@IBAction func refresh_TouchUpInside(_ sender: Any) {
        loadTopPosts()
    }

    func loadTopPosts() {
        ProgressHUD.show("Loading...", interaction: false)
        self.posts.removeAll()
        self.collectionView.reloadData()
        Api.Post.observeTopPosts { (post) in
            self.posts.append(post)
            self.collectionView.reloadData()
            ProgressHUD.dismiss()
        }
    }

最佳答案

您的 likeIt(_:) 函数没有执行任何操作,因为出于某种原因您只是在其中定义了另一个函数 (viewDidLoad)。只需在没有内部函数的按钮上调用 setImage(_:for:):

@IBAction func likeIt(_ sender: UIButton) {
        self.likeNot.setImage(UIImage(imageLiteralResourceName: "like"), for: .normal)
        self.likeNot.setImage(UIImage(imageLiteralResourceName: "likeSelected"), for: .selected)
//        likeIt.setImage(UIImage(named: "likeSelected"), for: .highlighted)
}

关于swift - 如何更改 Collection View 中的 UIbutton?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55891857/

相关文章:

swift - swift 3 中的初始化方法

ios - ObjectBinding 和 EnvironmentObject 有什么区别?

ios - Swift 使用 String 创建 JSON 对象

swift - 根据 kCGWindowName 值关闭窗口

ios - 为 iOS 设计矩形按钮的指南

swift - 在函数中为类成员赋值

cocoa-touch - 如何向 UIButton 添加第二个 UILabel,可根据 UIControlState 进行配置

iphone - 如何更改 Controller 中按钮的图像与另一个按钮的图像?

javascript - 如何在 Javascript (Smartface) 中创建透明按钮

ios - UIButton `setTitleShadowColor:ForState` 未按预期工作