是否可以(完全)使用自定义 AnimationTransition 加载 XIB?
我所做的是创建一个“覆盖”屏幕的动画,我想要的是在该动画完成播放后,我希望它显示新的 XIB。
我似乎无法找到任何适当的解决方案......有什么想法吗?
为了更清楚:按一个按钮-->播放动画(封面屏幕)-->加载XIB。
再一次问好!是的,你描述的最后一种方式就是我正在做的方式。我有两个 UIView(可能已经错了),它们在每一侧都被放置在边界之外,(如 x.-160.y.0 和 x.320y.0)
-(IBAction) leftDoor{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1];
[UIView setAnimationDelegate:self];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
closeDoor1.center = CGPointMake( closeDoor1.center.x +160, closeDoor1.center.y);
[UIView commitAnimations];
}
-(IBAction) rightDoor{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1];
[UIView setAnimationDelegate:self];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
closeDoor2.center = CGPointMake( closeDoor2.center.x -160, closeDoor2.center.y);
[UIView commitAnimations];
}
所以,我要做的不是“拆分”当前视图然后打开一个新的 XIB,我正在寻找的效果是“关门”效果,这就是我使用 UIView 的原因(以为我将图形放在顶部其中,比如两个 ImageView)。然后,为了加载新的 XIB ......这是我真正困惑的地方。我尝试的第一种方法是制作三个 IBAction,包括我上面提到的两个,然后将所有三个(多个操作)应用到一个按钮。所以为了切换视图,我做了这样的事情:`-(IBAction) newViewDisplay:(id)sender{
theView *newViewController = [[theView alloc]
initWithNibName:@"theView" bundle:nil];
[self.view addSubview:newViewController.view];
} `
正如你所说,这可能超出了我的想象,但如果我只是得到一些指示,我会步行数英里来完成这项工作。它真的会让我的应用程序焕然一新。非常感谢您花时间回答我的问题,一切顺利/安迪