2015-06-18 64 views

回答

0

這將很容易在代碼中完成。您可以添加約束並將其constant設置爲UIScreen.mainScreen().size.width

使用Interface Builder,我會先添加一個輔助視圖,將其頂部,左側和右側約束設置爲0並將其方面約束設置爲1:1。這意味着在寬度爲320的屏幕上,視圖框架將爲(0, 0, 320, 320)

現在,您可以根據幫手視圖的底部定位視圖。

0

必須定義頂部限制條件爲320像素。

使用代碼 -

[self.button addConstraint:[NSLayoutConstraint constraintWithItem:self.view attribute:NSLayoutAttributeTop relatedBy:0 toItem:self.view attribute:NSLayoutAttributeTop multiplier:1 constant:320]]; 

從故事板

+0

但是它僅在iPhone 5上才320,其他設備。 –

0

自動佈局在迅速的語言,你可以用它像

let leftConstraint = NSLayoutConstraint(item: self.label, 
            attribute: .Top, 
            relatedBy: 0, 
             toItem: self.view, 
            attribute: .Top, 
            multiplier: 1.0, 
            constant: 320.0); 

self.view.addConstraint(leftConstraint); 
+0

但是它僅在iphone 5上才320,對於其他設備會有所不同。 –

+0

你可以在這裏找到更多細節[here](http://makeapppie.com/2014/07/26/the-swift-swift-tutorial-how-to-use-uiviews-with-auto-layout-programmatically/) –

0

添加您的約束標記是這樣的:

如果你想以編程方式,你可以這樣做

override func viewDidLoad() { 
    super.viewDidLoad() 

    let label = UILabel() 
    label.backgroundColor = UIColor.redColor() 
    label.textAlignment = NSTextAlignment.Center 
    label.text = "I'am a test label" 
    label.setTranslatesAutoresizingMaskIntoConstraints(false) 
    view.addSubview(label) 

    let horizontalConstraint = NSLayoutConstraint(item: label, attribute: NSLayoutAttribute.TrailingMargin, relatedBy: NSLayoutRelation.Equal, toItem: view, attribute: NSLayoutAttribute.TrailingMargin, multiplier: 1, constant: 16) 
    view.addConstraint(horizontalConstraint) 

    let verticalConstraint = NSLayoutConstraint(item: label, attribute: NSLayoutAttribute.Bottom, relatedBy: NSLayoutRelation.Equal, toItem: topLayoutGuide, attribute: NSLayoutAttribute.Bottom, multiplier: 1, constant: 50) 
    view.addConstraint(verticalConstraint) 

    let widthConstraint = NSLayoutConstraint(item: label, attribute: NSLayoutAttribute.Width, relatedBy: NSLayoutRelation.Equal, toItem: nil, attribute: NSLayoutAttribute.NotAnAttribute, multiplier: 1, constant: 150) 
    label.addConstraint(widthConstraint) 


    let heightConstraint = NSLayoutConstraint(item: label, attribute: NSLayoutAttribute.Height, relatedBy: NSLayoutRelation.Equal, toItem: nil, attribute: NSLayoutAttribute.NotAnAttribute, multiplier: 1, constant: 20) 
    label.addConstraint(heightConstraint) 
} 

如果你不希望通過編程設置它,你可以這樣來做:

選擇標籤從故事板到腳的菜單,這約束添加到它,如下面圖片:

enter image description here

記住,如果你想要的標籤在高視最大y位置右側必須設置爲0。

希望它會有所幫助。

+0

沒有工作,但無論如何謝謝! –