Я пытаюсь просто центрировать мой GridView
с программными ограничениями Autolayout
. Ответ, который был предложен here и here рекомендуют использоватьПочему мое центрирование с использованием ограничений Autolayout программно не работает?
NSLayoutConstraint(item: self.view, attribute: NSLayoutAttribute.CenterX, relatedBy: NSLayoutRelation.Equal,
toItem: self.gridView, attribute: NSLayoutAttribute.CenterX, multiplier: 1, constant:0)
Я добавляю ограничения следующим образом:
func setupConstraints() {
let centerX = NSLayoutConstraint(item: self.view, attribute: NSLayoutAttribute.CenterX, relatedBy: NSLayoutRelation.Equal,
toItem: self.gridView, attribute: NSLayoutAttribute.CenterX, multiplier: 1, constant:0)
let centerY = NSLayoutConstraint(item: self.view, attribute: NSLayoutAttribute.CenterY, relatedBy: NSLayoutRelation.Equal,
toItem: self.gridView, attribute: NSLayoutAttribute.CenterY, multiplier: 1, constant:0)
self.view.addConstraints([centerX, centerY])
}
Однако, это не похоже на работу для меня. При запуске приложения представление расположено в верхнем левом углу, а консоль показывает дикий выход о проблемах с одновременным удовлетворением ограничений.
Какие еще ограничения активны в вашем представлении? – Stonz2
пока нет ... Я хочу добавить один для размера позже, используя язык визуального формата '[gridView (100 @ 100)]', но его там пока нет. – nburk
", а консоль показывает дикий выход о проблемах с одновременным удовлетворением ограничений.« И в этом проблема. Это не «дикий»; это чрезвычайно информативно. Вам нужно _read_ этот вывод. Если вы не можете, то _quote_ это в ваш вопрос. Остановитесь, начните думать. – matt