gpt4 book ai didi

ios - transitionWithView 不执行翻转动画

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:02:22 25 4
gpt4 key购买 nike

我正在使用以下代码尝试翻转 UIView。这是一张扑克牌。有一个容器 View ,有两个 child ,前后。我在这里读过类似的问题,这应该是正确的方法,但实际的翻转本身并没有被执行。

我打算为此设置动画,将卡片移动到屏幕中央,然后将其从后向前翻转。向中心的移动很好,但从未发生翻转。

如果我将 View: 参数更改为 self,它会翻转整个 View Controller ,如果我将它留在 cardContainer 上,它什么都不做。

困惑:(

UIView *cardContainer = [[UIView alloc] initWithFrame:CGRectMake(20, self.view.frame.size.height + 20, [Card size].width, [Card size].height)];
[self.view addSubview:cardContainer];

Card *card = _playerOneCards[_playerOneNextCardIndex];
card.frame = CGRectMake(0, 0, [Card size].width, [Card size].height);
card.delegate = self;
[cardContainer addSubview:card];

CardBack *back = [[CardBack alloc] initWithFrame:CGRectMake(0, 0, [Card size].width, [Card size].height)];
[cardContainer addSubview:back];


[UIView transitionWithView:cardContainer
duration:duration
options:UIViewAnimationOptionTransitionFlipFromLeft
animations:^{
back.alpha = 0.0f;
cardContainer.center = self.center;
}
completion:nil];

最佳答案

试试这个。容器 View 必须在动画开始之前放置在层次结构中。

//Add container views and subviews

[CATransaction flush];

[UIView transitionWithView:cardContainer
duration:duration
options:UIViewAnimationOptionTransitionFlipFromLeft
animations:^{
back.alpha = 0.0f;
cardContainer.center = self.center;
}
completion:nil];

您还可以将函数包装在 dispatch_after 调用中。有关更多信息,请查看:http://andrewmarinov.com/working-with-uiviews-transition-animations/

关于ios - transitionWithView 不执行翻转动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28264017/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com