2012-12-07 47 views
0

我在視圖內部使用適當的AutoresizingMasks獲得了我的子視圖,以便在視圖大小更改時相應調整。IOS - 縮小太多時自動調整視圖問題

我的問題是當視圖縮小太多,甚至沒有那麼多。這些子視圖似乎忘記了原來的位置,並開始處於奇怪的位置或者太多或太少。

最初的要求是「將視圖縮小」到其中心,然後像「氣球」一樣從「大小=零」縮放到原始框架大小。

我已經萎縮之前彈出看法,並沒有在其他項目太大的問題,我不知道這是否是因爲認爲現在是比較複雜的

回答

0

嗯,正如我所說的,我以前也這樣做過這個,我只是檢查了我的其他項目,我發現我的問題,我發佈答案在這裏分享知識的任何有興趣的人,因爲我不能谷歌此前的時刻。

的問題是,收縮或使用他們的框架成長的觀點是不是正確的方法做到這一點。

錯誤的例子:

[UIView animateWithDuration: 0.4 delay:0 options: UIViewAnimationCurveEaseInOut animations:^{ 
    self.frame = CGRectMake(frame.origin.x + frame.size.width/2, frame.origin.y + frame.size.height/2, 10, 10); 

} completion: nil]; 

代替,變換應使用:

self.transform = CGAffineTransformScale(CGAffineTransformIdentity, 1, 1); 

    [UIView animateWithDuration: 0.4 delay:0 options: UIViewAnimationCurveEaseInOut animations:^{ 

     self.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.001, 0.001); 

    } completion: nil]; 

以上地方他們都應該經過我收縮和增長自己的看法元素,考慮到那只是爲了動畫的目的。

希望它有幫助。