我想有一個UIView
子類,它有一個邊框圖像,但我不想或不關心邊框圖像本身周圍的這個「新」邊框/邊界。UIView上的邊框圖像
我想要做的只是使用drawRect
並繪製在矩形的外部,但是所有圖形都被剪切掉了,而且我沒有看到在這個上下文之外不剪切繪圖的方法。
所以現在我已經添加了一個子圖層到視圖圖層,在視圖上設置[self clipsToBounds]
並覆蓋setFrame
來控制我的子圖層並始終將其保持在正確的大小(溢出視圖幀40px)。
與此問題是setFrame
在uiview
默認情況下沒有動畫,但seTFrame
在calayer
做。
我不能只是禁用的calayers
setFrame
動畫,因爲如果我要呼籲uiview
setFrame
一個uiview
動畫裏面擋住calayer
仍然有它的動畫禁用。
顯而易見的解決方法是查看uiview
動畫上的當前animationDuration
並在子圖層上設置匹配的動畫,但我不知道該值是否可用。即使是這樣,我擔心從另一個動畫中調用動畫是錯誤的。
不幸的是,最好的解決辦法是在所有不使用calayer
,只是增加一個uiview
爲subview
並繪製成就像我拉進我的層,並希望與autoresizingMask
設置爲高度和寬度,一切都會'只是工作'。對於這樣一個簡單的任務似乎是不必要的開銷。
實際上無論哪種方式,都需要更多的膠水代碼才能在中間動畫時保持加蓋的圖像不被扭曲:/ – drunknbass 2010-03-19 23:05:07
如果您已經得到答案,請將其標記爲已回答它給予幫助您的人的動力,您也可以upvote他們。 – 2010-03-20 04:46:13