Post

Replies

Boosts

Views

Activity

Reply to programmatic constraints and Interface Builder
I wanted to simplify my problem, that's why I put the constraints in the subclass (class Container) It is exactly the same if I put the constraints in the code of the ViewController  I think the problem is that Interface Builder doesn't apply constraints. If I add the following method:  func setupIBConstraints() {     if (superview?.frame.size.width)! < (superview?.frame.size.height)! {       label.text = "setupIBConstraints(.CR \(superview?.frame.size.width)"       label.sizeToFit() self.layer.frame = CGRect(x: 30, y: 100, width: (superview?.frame.size.width ?? 0)-60, height: (superview?.frame.size.height ?? 0)-300)     } else {       label.text = "setupIBConstraints(.CC ou .RC \(superview?.frame.size.width)"       label.sizeToFit()       self.layer.frame = CGRect(x: 20, y: 50, width: (superview?.frame.size.width ?? 0)-100, height: (superview?.frame.size.height ?? 0)-100)     }   } and in method layoutSubviews() I replace setupConstraints(theOrientation) by  #if TARGET_INTERFACE_BUILDER      setupIBConstraints() #else     setupConstraints(theOrientation)  #endif  I can see a correct result in Interface Builder  it proves that code is well executed by Interface Builder change of frame is OK for IB but it doesn't apply constraints  I would reformulate my question: how to apply programmatic constraints in IB  Of course, I can write constraints in IB but I thought it was possible by program and see the results in IB
Topic: Programming Languages SubTopic: Swift Tags:
Aug ’21