Как я могу игнорировать / скрывать предупреждения об ограничениях в раскадровке?

#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)
        ])
    }
}
  

Должен признать, это не самое лучшее решение.