Я намагаюся використовувати за замовчуванням AlertViewController зі стилем .actionSheet . З якоїсь причини попередження викликає помилку обмеження . Поки alertController не запускається (відображається) за допомогою кнопки, помилок обмежень у всьому поданні не виникає. Можливо, це помилка Xcode?
Точна помилка, яку я отримую, виглядає так:
2019-04-12 15:33:29.584076+0200 Appname[4688:39368] [LayoutConstraints] Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don't want.
Try this:
(1) look at each constraint and try to figure out which you don't expect;
(2) find the code that added the unwanted constraint or constraints and fix it.
(
"<NSLayoutConstraint:0x6000025a1e50 UIView:0x7f88fcf6ce60.width == - 16 (active)>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x6000025a1e50 UIView:0x7f88fcf6ce60.width == - 16 (active)>
Це код, який я використовую:
@objc func changeProfileImageTapped(){
print("ChangeProfileImageButton tapped!")
let alert = UIAlertController(title: "Change your profile image", message: nil, preferredStyle: .actionSheet)
alert.addAction(UIAlertAction(title: "Photo Library", style: .default, handler: nil))
alert.addAction(UIAlertAction(title: "Online Stock Library", style: .default, handler: nil))
alert.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: nil))
alert.view.tintColor = ColorCodes.logoPrimaryColor
self.present(alert, animated: true)
}
Як бачите, це дуже елементарно . Ось чому мене дуже бентежить дивна поведінка, яку я отримую, оскільки ця реалізація за замовчуванням не повинна викликати помилок, так?
Хоча, порушуючи обмеження, попередження відображається належним чином на всіх розмірах екрану, я був би дуже вдячний за будь-яку допомогу, яку я отримаю.