要素を含むUITableViewCellを作成することは、制約を除いてプログラム的に機能しているようです。あるいはそれかもしれない。 セルが再び表示されるたびに、同じ制約が要素に追加されます。私は、tableViewをスクロールした後、同じ制約20をuiLabelに追加します。ここに私のsublcassは(凝縮)である:TableViewセル/ビジュアルフォーマット言語/同じ制約を追加し続けますか?
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に私は私のcellForRowAtIndexPath内configureCell funcを呼んでいます。
既存の制約が存在するかどうかを確認する方法はありますか?私の制約の1つだけが追加できることを確認する方法はありますか?それとももっと良い解決策がある人がいますか?前もって感謝します。
addSubviewと制約をイニシャライザに配置すると作業が完了しました。ありがとう。 – Avenious