UIButton не добавлен в subview swift - PullRequest
0 голосов
/ 08 мая 2019

Я создал UIButton и добавил его в свой контроллер представления, но при загрузке кнопка не отображается, несмотря на добавление его в подпредставление и ограничения

var plusBtn: DefaultBtn = {
        let plusBtn = DefaultBtn(type: .custom)
        plusBtn.translatesAutoresizingMaskIntoConstraints = false
        return plusBtn
    }()

    override func viewDidLoad() {
        super.viewDidLoad()
        view.backgroundColor = .white
        view.addSubview(plusBtn)
        plusBtn.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 20).isActive = true
        plusBtn.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -20).isActive = true
        plusBtn.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor, constant: 20).isActive = true
        plusBtn.setTitle("BUT WHY", for: .normal)
    }

class DefaultBtn: UIButton {

    override func awakeFromNib() {
//        layer.cornerRadius = self.frame.size.height / 2
        layer.borderWidth = 1
        layer.borderColor = UIColor.black.cgColor
        backgroundColor = .white
//        heightAnchor.constraint(equalToConstant: 50).isActive = true
//        widthAnchor.constraint(equalToConstant: 50).isActive = true
        translatesAutoresizingMaskIntoConstraints = false
        setTitleColor(.black, for: .normal)

    }
}

любая помощь приветствуется

1 Ответ

1 голос
/ 08 мая 2019

Попробуйте

 view.backgroundColor = .red

ИЛИ

plusBtn.setTitleColor(.red, for: .normal)

цвет заголовка кнопки по умолчанию - белый, что соответствует цвету фона представления


class DefaultBtn: UIButton {

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

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    func shared () {
        layer.borderWidth = 1
        layer.borderColor = UIColor.black.cgColor
        backgroundColor = .white
        translatesAutoresizingMaskIntoConstraints = false
        setTitleColor(.black, for: .normal)
   }

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