2016-04-13 29 views
1

これらのビューは同じで、プログラムで追加したいので、プログラムで制約を追加したい、ストーリーボードを使用して同じ操作を行ったが、このためのコード。2つのビュー間の垂直間隔をプログラムで即時に追加する

:私は最初の1が上になるように、次のものが最初の1を下回っているので、

は、私がこのようなコードを書いてきたこれらのビューに余白を追加したい

this is what i want to create

self.view.addConstraint(
    NSLayoutConstraint(
     item: secondView, 
     attribute: .Top, 
     relatedBy: .Equal, 
     toItem: firstView, 
     attribute: .Top, 
     multiplier: 1.0, 
     constant: 0 
    )) 

toItemは現在のビューコントローラであり、動作しますが、2番目のビューはこのようには機能しません。最初のビューの上に描画するだけで、私はこれを行うことができます唯一の方法ですconstant: 0私は好きではない、ビューの高さを入力

何か提案がありますか?

+0

これは私がそれを理解したことを助けた、私はちょうど2番目の "属性"属性のために、今私は知って:)実現感謝 – nikagar4

答えて

3

付属のコードでは、99%の権利が、

self.view.addConstraint(
    NSLayoutConstraint(
     item: secondView, 
     attribute: .Top, 
     relatedBy: .Equal, 
     toItem: firstView, 
     attribute: .Top, 
     multiplier: 1.0, 
     constant: 0 
    )) 

彼らは代わりにあなたがfirstViewの下にsecondViewのトップをしたいトップになりますので、あなたのはfirstViewの先頭にsecondViewのトップを取り付けています。

self.view.addConstraint(
    NSLayoutConstraint(
     item: secondView, 
     attribute: .Top, 
     relatedBy: .Equal, 
     toItem: firstView, 
     attribute: .Bottom, <---------- 
     multiplier: 1.0, 
     constant: 0 
    )) 

定数は距離です。

+0

ええ、私はすでにそれを考え出したが、これは正解この回答を正しいものとして誤ってマークすることができます – nikagar4

+0

視覚的なフォーマットを使用してコード内の制約を簡単に描くことができます。https://developer.apple.com/library/ios /documentation/UserExperience/Conceptual/AutolayoutPG/VisualFormatLanguage.html – SeanLintern88

関連する問題