在View Controller的视图之间进行自定义动画的正确方法是什么?

时间:2012-04-15 02:13:26

标签: ios animation uiviewcontroller crash calayer

在过去的两个月里,我一直在努力解决这个问题!我无法理解,因为Xcode一直没有任何帮助。无论如何,在我的应用程序中,我有一些视图控制器,每个控制器都拥有自己的视图。我想在它们之间做 自定义 动画,比如褪色或旋转......等等。

我已经拍摄了动画并且它们工作正常,只是在视图控制器之间来回两次或三次后,我得到一个EXC_BAD_ACCESS或(在控制台中)lldb: [self.view removeFromSuperview];

此外,我不是 ,不会使用ARC。

我正在使用的代码示例:

-(void)changeView {
    CGRect frame = self.view.frame;
    frame.origin.x = CGRectGetMaxX(frame);
    view4.view.frame = frame;
    MySwitchAppDelegate *appDelegate = (MySwitchAppDelegate *)[[UIApplication sharedApplication] delegate];
    [appDelegate.window addSubview:view4.view];    
    [UIView animateWithDuration:0.4 
                     animations:^{
                         CGRect frame = self.view.frame;
                         view4.view.frame = frame;
                         frame.origin.x -= frame.size.width;
                         self.view.frame = frame;
                     }
                     completion:^(BOOL finished){
                         [self.view removeFromSuperview];
                     }];
}

这是我在控制台中获得的输出:

*** -[CALayer retain]: message sent to deallocated instance 0x1fdd1b00

有什么问题?我该怎么做呢?如果有必要,我会提供赏金,因为我无法弄清楚!!!!

谢谢!

0 个答案:

没有答案