Как изменить UIbutton в представлении коллекции? - PullRequest
0 голосов
/ 28 апреля 2019

У меня есть представление коллекции с кнопкой «Мне нравится» на каждом.У меня тоже есть кнопка обновления, хотя я не знаю, актуальна ли она.

Как изменить изображение кнопки после ее нажатия?

Я пытался добавить это, но ничего не происходит:

@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()
        }
    }

1 Ответ

1 голос
/ 28 апреля 2019

Ваша 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)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...