Я использую вид с кнопками на моем главном контроллере вида.До недавнего времени кнопки работали нормально, пока я не стал возиться с ограничениями, чтобы визуально все было лучше.После настройки некоторых размеров и ограничений кнопки просто перестали работать.
Вот мои настройки: у меня есть пользовательский вид, в котором я установил 3 кнопки и добавил к ним ограничения
override init(frame: CGRect) {
super.init(frame: frame)
let buttonSize: CGFloat = 90.0
addSubview(photoButton)
photoButton.anchor(top: nil, leading: nil, bottom: bottomAnchor, trailing: nil, padding: .init(top: 0, left: 0, bottom: 0, right: 0), size: .init(width: buttonSize, height: buttonSize))
photoButton.centerXAnchor.constraint(equalTo: self.centerXAnchor).isActive = true
addSubview(homeButton)
homeButton.anchor(top: nil, leading: nil, bottom: bottomAnchor, trailing: photoButton.leadingAnchor, padding: .init(top: 0, left: 0, bottom: 0, right: 20), size: .init(width: buttonSize, height: buttonSize))
addSubview(profileButton)
profileButton.anchor(top: nil, leading: photoButton.trailingAnchor, bottom: bottomAnchor, trailing: nil, padding: .init(top: 0, left: 20, bottom: 0, right: 0), size: .init(width: buttonSize, height: buttonSize))
}
В контроллере основного вида я добавил цели для кнопок, чтобы вызватьфункции, когда они нажаты.
let buttonView = HomeBottomControlsView()
, на мой взгляд, загрузил
buttonView.homeButton.addTarget(self, action: #selector(openTrending), for: .touchUpInside)
buttonView.profileButton.addTarget(self, action: #selector(openProfile), for: .touchUpInside)
view.addSubview(overallStackView)
view.addSubview(buttonView)
overallStackView.translatesAutoresizingMaskIntoConstraints = false
overallStackView.anchor(top: view.safeAreaLayoutGuide.topAnchor, leading: view.leadingAnchor, bottom: view.safeAreaLayoutGuide.bottomAnchor, trailing: view.trailingAnchor)
overallStackView.isLayoutMarginsRelativeArrangement = true
overallStackView.layoutMargins = .init(top: 10, left: 12, bottom: 95, right: 12)
buttonStackView.anchor(top: overallStackView.bottomAnchor, leading: view.leadingAnchor, bottom: view.safeAreaLayoutGuide.bottomAnchor, trailing: view.trailingAnchor, padding: .init(top: 0, left: 0, bottom: 0, right: 0), size: .init(width: 0, height: 0))
Кнопки работали ранее, пока я не начал играть с ограничениями автоматического размещения.Теперь я больше не могу заставить кнопки быть нажимаемыми.
В других вопросах я читал, что кнопки иногда не работают из-за проблем с исходными кадрами.Это проблемы здесь?