Почему моя кнопка Swift показывает маленький синий квадрат при нажатии? - PullRequest
1 голос
/ 26 октября 2019

Я создал настраиваемую кнопку, которую можно создавать в раскадровке, и создал стиль выбора кнопки. Теперь, когда я нажимаю кнопку, над ней появляется синий квадрат. Это мой код:

Swift версия: 4.0

@IBDesignable class CircularButton: UIButton {

    @IBInspectable var borderColor: UIColor = UIColor(red: 255.0, green: 153.0, blue: 0.0, alpha: 1.0)

    var borderWidth: CGFloat = 3.0

    @IBInspectable var bgColor: UIColor? {
        didSet {
            updateButton()
        }
    }
    override init(frame: CGRect) {
        super.init(frame: frame)
        setUpButton()
        self.addTarget(self, action: #selector(btnTapp), for: .touchUpInside)
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }

    func setUpButton() {
        self.backgroundColor = self.bgColor
        let  cornerRadius = (self.frame.size.width + self.frame.size.height) / 4
        self.layer.cornerRadius = cornerRadius
    }

    @objc func btnTapp(_ sender: UIButton) {
        if isSelected == false {
            isSelected = !isSelected
        } else if isSelected == true {
            isSelected = !isSelected
        }
    }

    override var isSelected: Bool {
        didSet {
            updateState(state: isSelected)
        }
    }

    func updateState(state: Bool) {
        if state == false {
            self.layer.borderWidth = 0.0
            self.layer.borderColor = borderColor.cgColor
            print("fls")
        } else if state == true {
            self.layer.borderWidth = 3.0
            self.layer.borderColor = borderColor.cgColor
            print("tre")
        }
    }
}

это изображение моей проблемы в выбранном состоянии : не выбрано

1 Ответ

0 голосов
/ 27 октября 2019

TylerTheCompiler писал:

Если в вашей раскадровке тип вашей кнопки "Системный", попробуйте установить для него значение "Пользовательский".

Затем оригинальный плакат написал:

так что, товарищ, проблема решена

(просто пометьте это как отвеченное, чтобы оно не выглядело без ответа в будущем.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...