#swift #xcode #storyboard #constraints
#swift #xcode #раскадровка #ограничения
Вопрос:
Я хочу знать, как игнорировать / скрывать предупреждение об ограничениях в раскадровке, чтобы я не видел предупреждений в раскадровке. Программно я устанавливаю правильные ограничения.
Большое спасибо вам
Комментарии:
1. Просто отвернись и двигайся дальше?
2. @matt да, это сработало бы, но я хочу элегантный способ.
Ответ №1:
Примените работоспособные ограничения в раскадровке и обновите их программно. Вы можете прикреплять ограничения к IBOutlets, если хотите напрямую изменять существующие (именно так я выполняю большинство программных ограничений). Нет способа отключить предупреждения раскадровки.
Комментарии:
1. Чего я не понимаю: для некоторых UIButtons раскадровка выдает мне предупреждения об ограничениях, а для других UIButtons раскадровка нет. Кто-нибудь может объяснить?
Ответ №2:
Добавьте ограничения в раскадровку, затем выберите их все и перетащите в свой ViewController, чтобы создать коллекцию:
В вашем коде отключите их:
class ViewController: UIViewController {
@IBOutlet weak var label: UILabel!
@IBOutlet var storyboardConstraints: [NSLayoutConstraint]!
override func viewDidLoad() {
super.viewDidLoad()
storyboardConstraints.forEach { $0.isActive = false }
self.view.addConstraints([
self.label.centerXAnchor.constraint(equalTo: self.view.centerXAnchor),
self.label.centerYAnchor.constraint(equalTo: self.view.centerYAnchor)
])
}
}
Должен признать, это не самое лучшее решение.