我試圖揭示(通過動畫)UIView。具體而言,我想顯示視圖的中心部分,然後慢慢地顯示它的外邊緣(有點像拉回窗簾)。以編程方式顯示UIView
我的第一個嘗試是簡單地將邊界設置爲更小,並將其設置爲視圖框架的完整大小,但這並沒有達到預期的效果,因爲通過更改邊界,我也正在改變框架。
如果我正在嘗試做的事聽起來不可能(至少不是簡單的方式),至少我希望能夠有一些方法來使主視圖的子視圖相對於屏幕,而不是他們的父視圖,因爲父母調整大小(這會產生類似的效果)。
任何想法?
謝謝
-Matt
我試圖揭示(通過動畫)UIView。具體而言,我想顯示視圖的中心部分,然後慢慢地顯示它的外邊緣(有點像拉回窗簾)。以編程方式顯示UIView
我的第一個嘗試是簡單地將邊界設置爲更小,並將其設置爲視圖框架的完整大小,但這並沒有達到預期的效果,因爲通過更改邊界,我也正在改變框架。
如果我正在嘗試做的事聽起來不可能(至少不是簡單的方式),至少我希望能夠有一些方法來使主視圖的子視圖相對於屏幕,而不是他們的父視圖,因爲父母調整大小(這會產生類似的效果)。
任何想法?
謝謝
-Matt
這絕對有可能。你需要做的是
setAutoresizesSubviews:NO
和setClipsToBounds:YES
。startBounds.origin.x
應該等於endBounds.size.width
的一半,並且類似地爲y
。center
(在父視圖的座標系中)來定位視圖。setAutoresizesSubviews:YES
。您可能還需要將視圖的自動調整大小的遮罩設置爲完全靈活(彈簧但不支持struts),具體取決於調整大小時觸發的其他佈局。
聽起來像是你想改變它的剪裁。一種便宜的(代碼明智的)方法是將視圖插入到父視圖中(以autoresizing set爲中心),設置父視圖剪輯其子視圖,然後爲父視圖框添加動畫。
這是正確的,謝謝你的迅速和徹底的迴應。 – mag725