2012-12-04 180 views
1

我想將UIView從一個父視圖移動到另一個,並調整它的大小,現在我得到了這個,但動畫,我怎麼能沒有動畫呢? videoMover是基於其新父母移動和調整大小的視圖。無動畫調整UIView的大小

這是我的代碼,正在做調整大小,視圖的父母之前更改。

CGRect fsRect = CGRectMake(0,0,videoMover.superview.bounds.size.width, videoMover.superview.bounds.size.height); 
CGSize presentationSize = CGSizeMake(1280,720); 
CGSize viewSize = fsRect.size; 
CGFloat scale = fmin(viewSize.width/presentationSize.width, viewSize.height/presentationSize.height); 
CGRect videoRect = AVMakeRectWithAspectRatioInsideRect(presentationSize,fsRect); 
videoMover.autoresizesSubviews = NO; 
videoMover.frame = fsRect; 
videoMaster.frame = fsRect; 
((CALayer*)[videoMaster.layer.sublayers objectAtIndex:0]).frame = fsRect; 

回答

0

OK,理解了它.. 原來的動畫是存在的,因爲我是設置在我的CALayer的框架。我用這個固定:

[CATransaction begin]; 
[CATransaction setValue: (id) kCFBooleanTrue forKey: kCATransactionDisableActions]; 
((CALayer*)[videoMaster.layer.sublayers objectAtIndex:0]).frame = fsRect; 
[CATransaction commit]; 
1

簡單,首先將你的觀點,並設置它的隱藏和移動完成後,只要您的視圖中可見。

[yourView setHidden:YES/NO];