0
A
回答
2
你可以做到這一點比較用視覺語言的格式很簡單:
添加您的看法,topLayoutGuide
和bottomLayoutGuide
到字典。我用views
。您還必須將translatesAutoresizingMaskIntoConstraints
設置爲false
以使約束生效。
例子:
view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|[yourView]-(-15)-|", options: [], metrics: nil, views: views))
view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:[topLayout][yourView][botLayout]", options: [], metrics: nil, views: views))
0
一種方式做的是:
let newView = UIView()
newView.backgroundColor = UIColor.redColor()
newView.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(newView)
let horizontalConstraint = NSLayoutConstraint(item: newView, attribute: NSLayoutAttribute.Leading, relatedBy: NSLayoutRelation.Equal, toItem: view, attribute: NSLayoutAttribute.Leading, multiplier: 1, constant: 0)
view.addConstraint(horizontalConstraint)
let verticalConstraint = NSLayoutConstraint(item: newView, attribute: NSLayoutAttribute.Trailing, relatedBy: NSLayoutRelation.Equal, toItem: view, attribute: NSLayoutAttribute.Trailing, multiplier: 1, constant: -15)
view.addConstraint(verticalConstraint)
let widthConstraint = NSLayoutConstraint(item: newView, attribute: NSLayoutAttribute.Top, relatedBy: NSLayoutRelation.Equal, toItem: nil, attribute: NSLayoutAttribute.Top, multiplier: 1, constant: 0)
view.addConstraint(widthConstraint)
let heightConstraint = NSLayoutConstraint(item: newView, attribute: NSLayoutAttribute.Bottom, relatedBy: NSLayoutRelation.Equal, toItem: nil, attribute: NSLayoutAttribute.Bottom, multiplier: 1, constant: 0)
view.addConstraint(heightConstraint)
獲取更多信息,您可以在這裏遵循`NSLayoutConstraints`這個Swift | Adding constraints programmatically
相關問題
- 1. 我想添加一天到我的約會我該怎麼做
- 2. 如果我想隱藏我的textarea,我該怎麼做?
- 3. 如何以編程方式設置這些約束?
- 4. 如果我想創建多個CRUD方法重載,我該怎麼辦?
- 5. 如果我不想在這裏映射集羣標記,我該怎麼做?請
- 6. 如何以編程方式創建約束佈局
- 7. 我想在測驗結束時總計,該怎麼做?
- 8. 這是什麼叫,我該怎麼做?
- 9. 瞭解使用約束教程以編程方式創建UIView?
- 10. 如果我想要執行一些操作,如果我將兩個iPhone靠得更近,我該怎麼做?
- 11. 我該怎麼做?
- 12. 以編程方式創建UIView約束,但錨點未應用
- 13. Swift 3 - 以編程方式創建標題欄約束
- 14. 以編程方式創建約束不起作用
- 15. XtraScheduler以編程方式創建預約
- 16. 如果我將minSdkVersion設置爲8,但是想要爲SdkVersion = 15指定一些方法,我該怎麼做?
- 17. 如果聲明適用於這種情況,我該怎麼做?
- 18. 如果我想覆蓋資源路徑(例如post_path(@post)),我該怎麼做?
- 19. Oracle:我如何添加這些約束?
- 20. Eclipse交叉編譯...我該怎麼做?
- 21. Xcode不理解這些約束,它不按我想要的方式工作
- 22. 我應該怎麼做,如果我想要得到CycledLeScanCallback使用Android信標庫
- 23. PHP我應該怎麼做,如果我想呼應表而不是foreach循環
- 24. 我應該怎麼做,如果我想爲兩個popover設置不同的css
- 25. 如果我想在System.out.println中創建一個與靜態對象相同的參考,我該怎麼做
- 26. 如果我想做這個,我該從哪裏開始?
- 27. 以編程方式添加約束
- 28. 以編程方式設置約束
- 29. 我該怎麼做最好的方法
- 30. 我應該怎麼做?
見節 - > HTTPS:/ /developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/ProgrammaticallyCreatingConstraints.html#//apple_ref/doc/uid/TP40010853-CH16-SW1 – Adrian