Создание UITableViewCells, включающего элементы, программно, похоже, работает, за исключением ограничений. Или, может быть, так оно и есть. Каждый раз, когда ячейка снова появляется, те же ограничения будут добавлены к элементу. У меня будет 20 одинаковых ограничений, добавленных в uiLabel после прокрутки tableView. Вот мой sublcass (конденсированный):TableView Cells/Visual Format Language/Сохраняет добавление таких же ограничений?
class TimeSlotCell: UITableViewCell {
let lblTime = UILabel()
var viewCons = [String:AnyObject]()
var previousCageView:UIView!
var myConstraints = [NSLayoutConstraint]()
func configureCell(row:Int,cageCount:Int) {
lblTime.translatesAutoresizingMaskIntoConstraints = false
self.addSubview(lblTime)
placeConstraint("H:|-5-[time\(row)]", view:"time\(row)")
placeConstraint("V:|-17-[time\(row)]", view: "time\(row)
}
func placeConstraint(format:String, view:String) {
viewCons[view] = lblTime
let navViewConstraint = NSLayoutConstraint.constraintsWithVisualFormat(format, options: [], metrics: nil, views: viewCons)
myConstraints += navViewConstraint
NSLayoutConstraint.activateConstraints(myConstraints)
}
И в моем VC я звоню FUNC configureCell внутри моей cellForRowAtIndexPath.
Есть ли способ проверить, существует ли существующее ограничение? Есть ли способ убедиться, что можно добавить только одно из моих ограничений? Или есть ли там человек с гораздо лучшим решением? Заранее спасибо.
Да. Размещение работы addSubview и ограничений в инициализаторе. Благодарю. – Avenious