2017-01-16 2 views
1

Я пытаюсь добавить subview в свой Swift 3 tableView. Я хочу, чтобы ведущий якорь был связан с 0,05 x шириной моего родительского вида (tableView)«Невозможно преобразовать значение типа« NSLayoutDimension »в ожидаемый тип аргумента NSLayoutAnchor <NSLayoutXAxisAnchor>

Когда я пишу следующее:.

modalView.leadingAnchor.constraint(equalTo:margins.widthAnchor, constant: 0.05).isActive = true 

Я получаю

Как создать нужный провод с использованием NSLayoutAnchor?

+0

Попробуйте использовать 'trailingAnchor' вместо' widthAnchor'. – jtbandes

ответ

0

Попробуйте использовать следующий код:

modalView.leadingAnchor.constraint(equalTo:margins.widthAnchor as! NSLayoutAnchor<NSLayoutXAxisAnchor>, constant: 0.05).isActive = true 
0

Я просто была аналогичная проблема. я получаю:

Невозможно преобразовать значение типа 'NSLayout Y AxisAnchor' ожидаемого типа аргумента 'NSLayoutAnchor < \ NSLayout X AxisAnchor>'

X и Y являются два различные аксиомы

Если вы делаете что-то, связанное с «сверху и снизу», то вещи, которые вы хотите ограничить друг друга sh оба принадлежат к одной и той же AXIS! Это означает, что вы не можете сдерживать «налево». Вы не можете ограничивать «снизу до левого». Они должны быть параллельны!

Ваш случай отличается, но все же основная причина такая же. То есть вы не можете сказать «сдержать размер элемента до ». Зачем? Потому что вам нужны ДВА очков, чтобы ограничить размер чего-то на расстоянии между двумя точками.

Аналогичным образом вы не можете ограничить ширину аксиом. Ширина может быть ограничена другим измерением, то есть может быть ограничено высотой, шириной или глубиной или просто определенным значением, например 20.0

Смежные вопросы

 Смежные вопросы