在过去的两个月里,我一直在努力解决这个问题!我无法理解,因为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
有什么问题?我该怎么做呢?如果有必要,我会提供赏金,因为我无法弄清楚!!!!
谢谢!