2016-12-30 120 views
0

我正在爲遊戲製作評分標記。隨着分數的增長,我希望標記增長,以便它可以容納正在添加的額外數字。我希望調整大小順利,併爲顯示的新分數製作動畫。起初,我使用的是UILabel,但後來發現我無法獨立製作背景和文本的動畫(因爲它們位於同一圖層中)。避免UIVIw大小限制

我決定子類UIView並添加CATextLayer爲子層,所以我現在可以動畫背景(UIView層)和文本(CATextLayer子層)獨立。

它的工作原理除了一件事偉大,我把標誌在屏幕上像這樣的底部中心:enter image description here

的問題是,我得到一個錯誤說我應該爲x和y位置添加約束或寬度和高度。由於我希望視圖能夠增長,我不能添加大小約束,並且因爲它是相對的,我不能添加x或y約束。使用不等式約束是無用的,因爲錯誤仍然存​​在。

我知道這不是使用ILabel,UIButton或UIView的一些其他子類的問題。我想我可以繼承UILabel,只需將文本留空即可達到相同的效果,再加上我不必擔心這些約束,但感覺有點不對。除了UILabel已經是UIView的子類,所以我猜想可能有一個選項可以避免設置大小限制。

有什麼我可以做仍然子類UIView或者我應該只是子類UILabel或類似的東西,並得到它是免費的。

回答

0

嘗試含量HUGGING優先。或內容壓縮阻力優先。如果你不熟悉它們,這裏有一個明確的理解它的教程。 Hugging priority Vs Compression resistence

還有另一種方法可以嘗試。如果出現自動佈局錯誤是您面臨的唯一問題,除非一切正常,您可以使用佔位符限制