我是 xcode 的新手,但我一直在寻找解决方案,我尝试了许多不同的方法,但都没有奏效。 我正在尝试通过UIButton
向其添加动画来翻转到背面。这将在程序加载时发生,因此用户可以坐下来观看一大堆按钮一遍又一遍地翻转。
我遇到的问题是动画似乎发生在屏幕甚至加载之前,因为我可以在程序加载后立即看到不同的视图(以显示按钮已翻转),但我看不到动画正在发生。
我做了什么:
我创建了一个主视图控制器,在控制器内部我有不同的子视图,在这些子视图中,我有UIButtons
. 我试图为我的动画添加延迟,但它仍然无法修复它。我不知道是否会出现问题,因为我创建了子视图和按钮,然后在下面- (void)viewDidLoad.
进行动画处理在子视图之间翻转,但我仍然遇到同样的问题。动画仍然在屏幕加载之前发生,而不是在程序运行期间发生。
我将我所做的部分代码附加到这个代码上。
CGRect button20subviewFrame = CGRectMake(242, 370, 70, 83);
UIView *button20subview = [[UIView alloc] initWithFrame:button20subviewFrame];
UIButton *button20 = [UIButton buttonWithType:UIButtonTypeCustom];
[button20 addTarget:self action:@selector(switchToDetailView:) forControlEvents:UIControlEventTouchDown];
[button20 setTitle:@"Button20" forState:UIControlStateNormal];
button20.frame = CGRectMake(0 , 0 , 70 , 83);
UIImage *button20Image = [UIImage imageNamed:@"t1.png"];
[button20 setImage:button20Image forState:UIControlStateNormal];
[button20subview addSubview:button20];
[self.view addSubview:button20subview];
UIButton *button21 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button21 addTarget:self action:@selector(switchToDetailView:) forControlEvents:UIControlEventTouchDown];
button21.frame = CGRectMake(0, 0, 70, 83);
UIImage *button21Image = [UIImage imageNamed:@"t2.png"];
[button21 setImage:button21Image forState:UIControlStateNormal];
//animation part
[UIView animateWithDuration:3 delay:2 options:UIViewAnimationTransitionFlipFromLeft animations:^{
[button20 removeFromSuperview];
[button20subview addSubview:button21];
}completion:^(BOOL finished){
}];
任何帮助表示赞赏。
谢谢你。