, Для этого вы должны встроить свой viewcontroller в navigationcontroller в раскадровку. Перейдите в Редактор -> Внедрить -> Контроллер навигации.

лал несколько UIButton в indexPath вUICollectionViewCell программно. теперь я хочу напечатать "нажал добавить в избранное", но после нажатия ничего не печатаетсяUIButton,UIButton просматривает все, кромеaddTarget функция не щелкает.

import UIKit

//**UICollectionViewCell**
class DescriptionCell: UICollectionViewCell, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout {


    override init(frame: CGRect) {
        super.init(frame: frame)


        setupCell()

    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }



    lazy var addToCart: UIButton = {

        let btn = UIButton()
        btn.setTitle("Add to favourite", for: .normal)
        btn.isUserInteractionEnabled = true
        btn.setTitleColor(.white, for: .normal)

        btn.backgroundColor = UIColor.orange
        btn.titleLabel?.font = UIFont.boldSystemFont(ofSize: 8)
        btn.titleLabel?.textAlignment = .right

        // addToCart not click
        btn.addTarget(self, action: #selector(addToCartTarget), for: .touchUpInside)

        btn.layer.cornerRadius = 12

        return btn
    }()




    func setupCell() {



        addSubview(addToCart)



        addConstraintsWithFormat("H:|-80-[v0]-80-|", views: addToCart)
             addConstraintsWithFormat("V:|-380-[v0(25)]|", views: addToCart)


    }



    func addToCartTarget() {

        print("you clicked add to favourite")
    }




}

 Abhishek12 сент. 2017 г., 09:05
@AzmalTech Должна быть проблема с представлением кнопки, а не с addTarget. Попробуйте сначала добавить простую кнопку только с целью и проверьте, правильно ли выполнен вид на экране.
 Anbu.Karthik14 сент. 2017 г., 06:05
привет братан, сколько раз вызывается DescriptionCell
 Anbu.Karthik14 сент. 2017 г., 06:14
нет нет для целей тестирования попробуйте приведенный выше код только один раз
 Usman Javed14 сент. 2017 г., 07:02
Далее я хочу знать несколько вещей, например, есть ли какой-нибудь GestureRecognizer на CollectionViewViewController или нет, а затем, пожалуйста, установите несколько вещей в своем коде, таких как установить цвет фона вашей ячейки, и кнопка проверки находится на границе ячейки или нет.
 Anbu.Karthik14 сент. 2017 г., 06:10
вызовите метод всего за один раз и проверьте, когда вызывается действие кнопки или нет

Ответы на вопрос(1)

Решение Вопроса

let btn = UIButton(frame: CGRect(x: 10, y: 10, width: 50, height: 20))
 Quiet Islet13 сент. 2017 г., 06:49
извиняюсь! я забыл сказать "я добавил несколько UIButton в indexPath в collectionViewCell"
 Quiet Islet16 сент. 2017 г., 13:53
Родной брат! я не смог добавить pushViewController с этой кнопкой в ​​collectionViewCell. но добавил presentViewController этим кодомself.window?.rootViewController?.present(ViewController(), animated: true, completion: nil)
 laxman khanal12 сент. 2017 г., 09:07
Я проверил ваш фрагмент кода и он работает нормально для меня.
 laxman khanal18 сент. 2017 г., 10:21
Вы можете перенести контроллеры вида только на контроллеры навигации,navigationController?.pushViewController(activityTimesTVC, animated: true), Для этого вы должны встроить свой viewcontroller в navigationcontroller в раскадровку. Перейдите в Редактор -> Внедрить -> Контроллер навигации.
 Quiet Islet12 сент. 2017 г., 09:05
все в порядке с UIButton, просто addTarget ничего не печатает после нажатия кнопки

Ваш ответ на вопрос