我在我的iOS應用中使用PureLayout,並按照此處的說明操作: https://github.com/PureLayout/PureLayout/wiki/Tips-and-Tricks 即,使用名爲didSetupConstraints的標誌和方法updateViewConstraints。 但是現在我想在用戶按下按鈕時在另一個隨機視圖中添加一個視圖。 要做到這一點,我可以想象的唯一方法是創建另一個標誌,如didNewViewSetupConstraints,並在updateViewConstraints中創建另一個塊,其中我使用2個UIView變量創建它們之間的新約束。 是嗎?因爲我認爲對於一件小事來說這是一項很多工作(添加一個子視圖及其約束)。 請注意,如果不安裝它們,我無法創建約束,因爲我事先不知道(用戶會點按它們)。這就是我評論RANDOM的原因。 我在示例代碼10中看到,它使用autoRemoveConstraints和autoInstallConstraints在2組約束之間切換。因爲我的2個視圖是隨機的,我想我不能做那樣的事情,這就是我爲這兩個視圖創建了一個標誌和2個變量來設置updateViewConstraints內的約束的原因。但我相信這太多了。 感謝您的任何建議或想法。如何使用純佈局實時添加隨機視圖
0
A
回答
1
你不要有創建/激活-updateConstraints
內的所有約束。您可以隨時創建約束,只要您希望約束的視圖共享共同的超視圖(換句話說,視圖需要已經添加到相同的視圖層次結構中),就可以激活它們。
我會建議在-updateConstraints
之內創建一個默認的靜態約束集。然後,在用戶點擊按鈕的回調方法中,您可以創建此新視圖,將其添加爲子視圖,然後創建&,然後在此處激活新約束。
如果您稍後刪除此視圖,則會自動刪除與其關聯的所有約束。但是,如果您需要調整此新視圖的約束,則可以在創建約束時存儲對約束的單獨引用。
相關問題
- 1. 使用視圖添加按鈕佈局
- 2. 如何在視圖下添加布局
- 3. 將圖像視圖添加到隨機位置佈局的最佳方式
- 4. 如何在另一視圖中使用佈局添加inflatter
- 5. 如何使viewflipper中的佈局隨機
- 6. android如何在佈局開始時添加視圖?
- 7. 如何在運行時自定義佈局中添加視圖
- 8. 使用自動佈局動態添加子視圖時調整超級視圖
- 9. simplecursoradapter隨機發布視圖
- 10. 隨機EXC_BAD_ACCESS添加子視圖與ARC
- 11. 如何實現在動態佈局中實現添加更多視圖android
- 12. 在運行時在相對佈局內的隨機位置添加圖像
- 13. 在列表視圖中添加布局
- 14. 在視圖中添加布局
- 15. 將滾動視圖添加到佈局
- 16. Android - 添加視圖到佈局
- 17. 添加子視圖相對佈局
- 18. PlayN如何在純Java版本中添加隨機延遲圖像加載?
- 19. 隨機圖像 - 如何添加鏈接?
- 20. 當用列表視圖添加到佈局時,Adview不可見
- 21. 如何隨機化佈局的Android
- 22. 如何在純javascript中添加隨機元素的類
- 23. 添加布局元素到視圖佈局
- 24. 無論訂單添加到佈局如何製作合適的佈局視圖?
- 25. 如何延遲添加布局圖像?
- 26. 在視圖中使用自動佈局添加到UIWindow
- 27. 使用按鈕添加布局到列表視圖
- 28. 使用自動佈局去除和重新添加子視圖
- 29. 將滾動視圖添加到使用java代碼的佈局
- 30. 使用OnTouchListener將自定義視圖添加到XML佈局
如果您有興趣,可以參閱關於何時何地創建/激活約束條件的更高級概念的討論:https://www.youtube.com/watch?v=taWaW2GzfCI – smileyborg
非常感謝@smileyborg !其實這是我的第一個想法,但我認爲這是錯誤的,因爲我沒有在樣本或文檔中看到。這就是我認爲使用updateConstraints對每個約束都是強制性的原因。 – Ricardo
@Ricardo它不是強制性的,但它總是會在佈局週期的正確時間被調用,在某些情況下它可以更高效,並且它可以幫助您將所有自動佈局代碼集中在一個地方,從而使它更容易推理。查看以前的視頻鏈接以獲得更深入的討論。 – smileyborg