В collectionviewCell у меня есть кнопка «MainButton» (подкласс UIButton):
var buttonTest: MainButton {
let testBtn = MainButton(type: .custom)
testBtn.setTitle("Save settings", for: .normal)
testBtn.addTarget(self, action: #selector(buttonAction), for: .touchUpInside)
return testBtn
}
Далее, в моей функции настройки я ввожу базовый UIView, который будет удерживать мою кнопку.
let supportTest = UIView()
supportTest.backgroundColor = .blue
supportTest.translatesAutoresizingMaskIntoConstraints = false
supportTest.clipsToBounds = true
addSubview(supportTest)
supportTest.anchor(top: nil, leading: leadingAnchor, bottom: nil, trailing: trailingAnchor)
supportTest.topAnchor.constraint(equalTo: separator.bottomAnchor, constant: 20).isActive = true
supportTest.heightAnchor.constraint(equalToConstant: 40).isActive = true
Затем я добавляю в качестве подпредставления мою кнопку
supportTest.addSubview(buttonTest)
Но когда я ограничиваю ее по центру, эти две следующие строки приводят к ее падению.
buttonTest.anchor(top: nil, leading: leadingAnchor, bottom: nil, trailing: trailingAnchor)
buttonTest.centerXAnchor.constraint(equalTo: supportTest.centerXAnchor).isActive = true
Есть лиспособ правильно сделать эту кнопку по центру, не давая ей ширину?Потому что мой заголовок кнопки будет соответствовать по-разному, в зависимости от ее содержимого.Я подумал о представлении стека, с двумя "пустыми" представлениями, граничащими с ним ...
Скажите, что вы об этом думаете.
Вот как это выглядит на самом деле (2 последние строки каккомментарии конечно): https://imgur.com/n380XEA