2013-09-22 48 views
2

我想學習如何編程制約工作的iOS應用程序,通過使如下一個簡單的項目(單個視圖應用程序):約束如何以編程方式工作?

enter image description here

我成功地創建僅使用此代碼的頂部空間viewDidLoad中:

NSLayoutConstraint *myConstraint =[NSLayoutConstraint 
            constraintWithItem:_container 
            attribute:NSLayoutAttributeTop 
            relatedBy:NSLayoutRelationEqual 
            toItem:self.view 
            attribute:NSLayoutAttributeTop 
            multiplier:1.0 
            constant:200]; 

[self.view addConstraint:myConstraint]; 

myConstraint =[NSLayoutConstraint 
       constraintWithItem:_container 
       attribute:NSLayoutAttributeHeight 
       relatedBy:NSLayoutRelationEqual 
       toItem:nil 
       attribute:NSLayoutAttributeNotAnAttribute 
       multiplier:1.0 
       constant:216]; 

[_container addConstraint:myConstraint]; 

但是我忘了設定的_container高度(的UIView - 上海華子視圖)。如何在這種情況下創建多個約束?謝謝。

更新:我將以編程方式操作頂層空間的大小,以便_container上下移動,甚至脫離屏幕。

回答

3

您可以用視覺形式語言在代碼中設置一個高度約束:"V:[view(==216.0)]"或使用constraintWithItem:其中第二項是nil,第二個屬性是NSLayoutAttributeNotAnAttribute和常數值就是你的高度。

+0

我已根據您的答案更新我的代碼。但仍然無法正常工作... –

+0

您是否還在代碼中創建了包含的視圖,還是界面生成器?你能更新你的問題來顯示代碼嗎? – jrturton

相關問題