如何在不干擾其他設置(按鈕顏色,可視性和活動性)的情況下向按鈕添加約束。 我已經爲兩個按鈕添加了約束(請參閱圖片)。白色按鈕變成背景的顏色,不可點擊(不能按模擬器),紫色按鈕完全消失。將約束添加到按鈕
Q
將約束添加到按鈕
-4
A
回答
0
- 沒有背景的按鈕是好的,你不會在模擬器中看到水龍頭。連接一個IBOutlet併爲它設置一些動作,你會看到它的工作原理。
- 紫色按鈕已經磨損了限制。根據iPhone7屏幕設置固定的頂部和底部約束。但是你正在運行SE模擬器。 SE屏幕小於7,自動佈局引擎無法正確應用您的約束,因此它會制約一些約束(您可以在日誌中看到相關消息)。 E.G.你已經設置了紫色按鈕必須有400點到屏幕頂部(或上面的一個控件),並且237點到屏幕底部。故事板上的按鈕高度= 30.然後我們有400 + 237 + 30 = 667。它的iPhone 6,7屏幕高度,所以一切都很好。當你在SE上運行你的應用時,發生了什麼: SE的屏幕高度爲568.所以自動佈局引擎嘗試將400設置爲最高 - ok。 237底部?錯誤。底部只剩下168分。所以我會制止底部約束,在日誌中告訴你它已經發生,並且設置最大可能值,使得168. 結果我們有568 - 400 - 168 = 0 - 這是按鈕的高度。 嘗試瞭解自動佈局引擎如何構建UI並正確更新您的約束。
如果你希望你的紫色按鈕被放置在底部和第一按鈕的中間,我建議:1。 添加一個空的觀點,並伸展到適合第一按鈕和底部之間的所有空的空間。通過將背景顏色設置爲透明顏色來使其透明。 2.添加約束0-0-0-0所有邊0到最近的視圖。 3.把你的紫色按鈕放在這個視圖中,並放在中間(當它在中間時你會看到藍色的交叉線) 4.向紫色按鈕添加2個約束:在容器中水平居中並垂直居中容器。
這將解決您的問題。
0
應用約束得當,它看起來像您已經應用在你的紫色按鈕,兩個頂級的約束,一個從上海華盈的頂部,另一個來自您的白色按鈕。
0
約束隻影響位置和大小。如果按鈕正在消失,這是因爲您的約束條件有衝突(可通過文檔樹中的場景或控制器旁邊的紅色箭頭標識)或不正確的約束條件(如約束垂直至底部:-50)
編輯:看起來你在iPhone 7環境下工作時以iPhone SE模式運行你的模擬器。除非你的約束是完美的,否則工作環境中顯示的內容將與你的模擬器中顯示的內容不同。
相關問題
- 1. 約束添加到按鈕迅速(蘋果iOS教程)
- 2. FPGA - 按鈕約束
- 3. 將約束添加到地圖視圖
- 4. 將約束添加到mysql中的列
- 5. 將列添加到約束表中
- 6. 將計數約束添加到@XmlElement?
- 7. 將NOT NULL約束添加到列
- 8. UIDatePicker:將約束添加到時間
- 9. 將約束添加到iminuit鉗工
- 10. 將現有約束添加到新表
- 11. 將約束添加到整數
- 12. 將約束添加到以swift編程創建的按鈕中1.2
- 13. 如何以編程方式將約束添加到Swift 2中的按鈕?
- 14. 添加CHECK約束在SQL Server:添加約束VS添加復
- 15. 將按鈕添加到jtable
- 16. 將按鈕添加到UITableView
- 17. 將按鈕添加到jtable
- 18. 將按鈕添加到MKPointAnnotation
- 19. 將按鈕添加到JPanel
- 20. 將按鈕添加到UILabel
- 21. 將按鈕添加到QTableview
- 22. 將按鈕添加到UIDatePicker
- 23. 將OnGestureListener添加到按鈕?
- 24. 將按鈕添加到ListActivity
- 25. 將按鈕添加到UIScrollview
- 26. 將按鈕添加到infoWindow
- 27. 將按鈕添加到BrowseFragment
- 28. 將UIGesture添加到按鈕
- 29. 將ActionListener添加到按鈕
- 30. 將按鈕添加到JScrollpane
他們以這種方式定義了約束條件,決不應干擾顏色和主動性。所以你的問題可能在其他地方1.無論如何看看** View Controller Scene **?點擊**約束**。展開它。拿另一張截圖。 2.分享您在調試器中獲得的完整錯誤消息。 3.你可能想看到[這裏](https://www.youtube.com/watch?v=qb05nLPYKz8) – Honey
任何在U管自動佈局的視頻將對你有用。 現在添加,水平中心和垂直中心任何按鈕都可以幫助你,改變約束的乘數值來放置它 –