У меня странная ошибка при анимации пары представлений в iOS.Моя цель - переключиться с пользовательского «Разделенного вида».Вы можете увидеть, что происходит в этом видео на YouTube: http://youtu.be/ZWbf2bQYMns
Вы можете увидеть странный «удар» в значении Y UIImageView, и мне было интересно, как это исправить для довольнонекоторое время.
Это интерфейс View Controller:
@interface VideoSharing_Pad : UIViewController
{
IBOutlet UIView *videoCallView;
IBOutlet UIImageView *imageView; //This is "inside" mediaView
IBOutlet UIView *mediaView;
CGRect mediaRect;
CGRect videoCallRect;
CGRect imageRect;
}
В viewDidLoad я сохраняю оба представления следующим образом:
//Get frames from XIB
mediaRect = mediaView.frame;
videoCallRect = videoCallView.frame;
imageRect = imageView.frame;
И это код, который выполняеткогда я хочу переключиться из режима разделения в полноэкранный режим:
- (IBAction)toggleFullScreen:(id)sender
{
if (iScreenMode == callAndShareMedia) {
CGRect fullScreenRect = CGRectMake(0, 0, 1024, 768);
CGRect dissapearRect = CGRectMake(0, - videoCallView.bounds.size.height, videoCallView.bounds.size.width, videoCallView.bounds.size.height);
[UIView animateWithDuration:1.0
delay:0.1
options: UIViewAnimationCurveEaseOut
animations:^{
[videoCallView setFrame:dissapearRect];
[imageView setFrame:fullScreenRect];
[mediaView setFrame:fullScreenRect];
}
completion:^(BOOL finished){
}];
iScreenMode = onlyShareMedia;
return;
}
else if (iScreenMode == onlyShareMedia)
{
[UIView animateWithDuration:1.0
delay:0.1
options: UIViewAnimationCurveEaseOut
animations:^{
[videoCallView setFrame:videoCallRect];
[mediaView setFrame:mediaRect];
[imageView setFrame:imageRect];
}
completion:^(BOOL finished){
}];
iScreenMode = callAndShareMedia;
return;
}
}
Я был бы очень признателен за любую помощь, которую я могу получить.Большое спасибо!
это скриншот XIB:
, как вы можете видеть на скриншоте и в файле .h, imageView находится внутриUIView, называемый mediaView, Другой UIView, videoCallView - это тот, у которого есть три фиктивных изображения.