例 - 如果iphone 5(第320x568),標籤應放置在320(Y位置)的寬度自動佈局:標籤的y位置是上海華
回答
這將很容易在代碼中完成。您可以添加約束並將其constant
設置爲UIScreen.mainScreen().size.width
。
使用Interface Builder,我會先添加一個輔助視圖,將其頂部,左側和右側約束設置爲0
並將其方面約束設置爲1:1
。這意味着在寬度爲320的屏幕上,視圖框架將爲(0, 0, 320, 320)
。
現在,您可以根據幫手視圖的底部定位視圖。
必須定義頂部限制條件爲320像素。
使用代碼 -
[self.button addConstraint:[NSLayoutConstraint constraintWithItem:self.view attribute:NSLayoutAttributeTop relatedBy:0 toItem:self.view attribute:NSLayoutAttributeTop multiplier:1 constant:320]];
從故事板
但是它僅在iPhone 5上才320,其他設備。 –
自動佈局在迅速的語言,你可以用它像
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);
但是它僅在iphone 5上才320,對於其他設備會有所不同。 –
你可以在這裏找到更多細節[here](http://makeapppie.com/2014/07/26/the-swift-swift-tutorial-how-to-use-uiviews-with-auto-layout-programmatically/) –
添加您的約束標記是這樣的:
如果你想以編程方式,你可以這樣做
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)
}
如果你不希望通過編程設置它,你可以這樣來做:
選擇標籤從故事板到腳的菜單,這約束添加到它,如下面圖片:
記住,如果你想要的標籤在高視最大y位置右側必須設置爲0。
希望它會有所幫助。
沒有工作,但無論如何謝謝! –
- 1. ios自動佈局標籤定位
- 2. iOS的自動佈局如何伸出子視圖在上海華
- 3. 有來自上海華
- 4. 從上海華
- 5. 從上海華
- 6. 從上海華
- 7. 使用自動佈局根據條件調整標籤位置。
- 8. 佈局從上海華盈的底部按鈕反應母語
- 9. iOS 7自動佈局Y位置/高度缺失約束
- 10. 位置的UITextField的參考其7上海華
- 11. 檢測標籤佈局上的哪個位置
- 12. 設置圖層蒙版UIBezierPath上海華
- 13. 佈局上的標籤
- 14. 設置y軸標籤位置ggplot2
- 15. 自動佈局旋轉修復位置
- 16. 自動佈局按鈕位置
- 17. 自動調整子視圖調整的上海華
- 18. 從對準上海華
- 19. 調整與上海華
- 20. EXC_BAD_ACCESS時從上海華
- 21. MPMoviePlayerController.view沒有從上海華
- 22. 無法從上海華
- 23. 「上海華」不承認
- 24. Wikitude SDK從上海華
- 25. 訪問上海華性質
- 26. UIButton上的標籤與自動佈局排列不正確
- 27. 使用自動佈局的自定義/動態標籤寬度
- 28. 自動佈局限制設置標籤水平
- 29. 自動版式子視圖對齊到上海華中心X
- 30. 動態位置佈局框
你的問題是什麼? –
我應該添加什麼約束來做到這一點 –
請檢查這個文件以瞭解如何提問:http://stackoverflow.com/help/how-to-ask – mgyky