У меня есть UITableView
с ограничениями. Когда я пытаюсь получить ограничения для UITableView
, он возвращает 0 элементов. Любая помощь?Как получить ограничения UITableView?
self.tableView.constraints
У меня есть UITableView
с ограничениями. Когда я пытаюсь получить ограничения для UITableView
, он возвращает 0 элементов. Любая помощь?Как получить ограничения UITableView?
self.tableView.constraints
Зависит от условий, в которых применяются ограничения. Если у вас есть в UIViewController
с UITableView
и добавить ограничения, ограничения применяются в UIViewController
не UITableView
Используйте этот код вместо:
self.tableView.superview?.constraints
Да, я знал это. Но ограничения 'UITableViewCell' были бы в' UITableView'. – PradeshV
Вы должны получить вид таблицы SuperView ограничений и проверить вид таблицы как первый или второй элемент.
for constraint in (self.tableView.superview?.constraints)! {
if constraint.firstItem as! NSObject == self.tableView ||
constraint.secondItem as! NSObject == self.tableView {
// table view constraints
}
}
Извлечение ограничений программно не очень хорошая идея.
Вы можете получить все ограничения, влияющие на представление, используя constraintsAffectingLayout(for:), однако вы, вероятно, получите гораздо больше ограничений, чем вы ожидаете.
Лучшее решение - сохранить ссылки на заданные ограничения при их добавлении. Если вы используете раскадровку или xib, создайте для них IBOutlet
.
где вы это называете? в 'viewDidLoad()'? –
Как/Где вы хотите его использовать? – mihatel
Когда пользователь выполняет удаление строки. – PradeshV