2016-03-25 14 views
0

ビジュアルフォーマット言語を迅速に処理しようとしていますが、単純な例では動作できません。私は左上隅以外のどこかにラベルが表示されるようにしようとしています。これは、今までの方法を示している:スウィフトビジュアルフォーマット言語が動作しない

Test

そして、これは私のコードです:

override func viewDidLoad() { 
     super.viewDidLoad() 

     let label = UILabel() 
     label.text = "Label 1" 
     label.sizeToFit() 

     self.view.addSubview(label) 
     self.view.translatesAutoresizingMaskIntoConstraints = false 

     let views = Dictionary(dictionaryLiteral: ("label", label)) 

     let horizontalConstraints = NSLayoutConstraint.constraintsWithVisualFormat("H:|-30-[label]-|", 
      options: [], 
      metrics: nil, 
      views: views) 

     self.view.addConstraints(horizontalConstraints) 

     let verticalConstraints = NSLayoutConstraint.constraintsWithVisualFormat("V:|-30-[label]-|", 
      options: [], 
      metrics: nil, 
      views: views) 

     self.view.addConstraints(verticalConstraints) 
} 

誰が間違っているかを見ることができますか? layoutSubviewsが行われたときは、これがないlabel.translatesAutoresizingMaskIntoConstraints = false

を追加する必要が

+1

ラベルにこのオプションが無効になるように 'label.translatesAutoresizingMaskIntoConstraints = false'を追加してみてください。いくつかの制約が充足できないというランタイムログがありますか? – tomahh

+0

@tomahhそれでした!それを答えとして加えて、それを受け入れたものとしてマークします。タイ! – Fredrik

答えて

1

は、ラベルの自動サイズ変更マスクが制約に変換されます。ブール値はビューにのみ適用され、サブビューには適用されません。

関連する問題