Такое ощущение, что мне не хватает чего-то простого, но я не могу понять это.Я пытаюсь добавить изображение поверх кнопки программно.В этом случае логотип Facebook над пользовательской кнопкой.Я хочу, чтобы нижняя часть находилась над левой стороной кнопки, поэтому я привязываю ограничения изображения к левой стороне кнопки.
Однако я не могу наложить правильное ограничение на изображение, поскольку размер кнопки варьируется в зависимости от размера экрана телефона (ширина, установленная на множитель).Я думал, что только настройка режима содержания изображения для подгонки аспекта позаботится об этом, но то, что происходит, - это то, что правая сторона изображения устанавливается на основе его полного размера.
Как я могу справиться с этим?Я подумал, что, возможно, смогу рассчитать высоту кнопки и использовать ее для установки ширины изображения.Я не уверен, как это сделать, и я чувствовал, что мне не хватает более элегантного решения.Спасибо!
let customFacebookButton = UIButton(type: .system)
let facebookLogo: UIImageView = {
let imageView = UIImageView(image: UIImage(named: "facebookLogo"))
imageView.translatesAutoresizingMaskIntoConstraints = false
imageView.contentMode = .scaleAspectFit
return imageView
}()
view.addSubview(facebookLogo)
facebookLogo.topAnchor.constraint(equalTo: customFacebookButton.topAnchor, constant: 10).isActive = true
facebookLogo.bottomAnchor.constraint(equalTo: customFacebookButton.bottomAnchor, constant: -10).isActive = true
facebookLogo.leadingAnchor.constraint(equalTo: customFacebookButton.leadingAnchor, constant: 10).isActive = true
// Custom Button Constraints in case it's helpful
customFacebookButton.topAnchor.constraint(equalTo:
loginTextViewTitle.bottomAnchor, constant: 30).isActive = true
customFacebookButton.centerXAnchor.constraint(equalTo: view.safeAreaLayoutGuide.centerXAnchor).isActive = true
customFacebookButton.heightAnchor.constraint(equalToConstant: 50).isActive = true
customFacebookButton.widthAnchor.constraint(equalTo: view.safeAreaLayoutGuide.widthAnchor, multiplier: 0.8).isActive = true