iphone - UIView翻转动画

标签 iphone ios objective-c uikit

在我的游戏中,我在主 UIView 上托管了一个由较小的 UIView 组成的网格。盒子会随机变成不同的颜色,此时用户可以触摸它们来得分。当他们触摸框时,我想显示某种动画,理想情况下类似于 XCode native 提供的模式水平翻转转场。如何在不实际转换到另一个 UIView 的情况下制作此动画?

最佳答案

您可以简单地尝试像这样设置 View 变换的动画(垂直翻转):

[UIView animateWithDuration:0.5 delay:0.0 options:UIViewAnimationOptionCurveEaseInOut
                 animations:^(void) {
                     view.transform = CGAffineTransformMakeScale(1, -1);
                 }
                 completion:nil];

或者为了更好地控制,您可以查看 iOS-Flip-Transform .

编辑:

对于影子,试试这个:

    view.layer.shadowColor = [UIColor blackColor].CGColor;
    view.layer.shadowOpacity = 0.75;
    view.layer.shadowRadius = 15.0;
    view.layer.shadowOffset = (CGSize){0.0,20.0};

[UIView animateWithDuration:0.5 delay:0.0 options:UIViewAnimationOptionCurveEaseInOut
                 animations:^(void) {
                     view.transform = CGAffineTransformMakeScale(1, -1);
                 }
                 completion:^(BOOL b) {
    view.layer.shadowColor = [UIColor clearColor].CGColor;
    view.layer.shadowOpacity = 0.0;
    view.layer.shadowRadius = 0.0;
    view.layer.shadowOffset = (CGSize){0.0, 0.0};
                 }];

我希望这对你有用。您可以根据需要更改阴影设置。不要忘记导入 QuartzCore/QuartzCore.h。

关于iphone - UIView翻转动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14426233/

相关文章:

ios - 返回 UITableViewCell 自定义单元格

ios - 如何使用 NSNumberFormatter 将数字格式化为有限字符的 NSString?

android - flutter cloud-firestore MissingPluginException 异常

objective-c - 如何在单元测试中访问 NSDocumentDirectory (OCUnit)

ios - 无法在我的 iOS 应用程序中使用共享按钮?

iphone - 从导航 Controller 弹出 View 后递归不会停止

iphone - iPhone 中的动态文本字段是否可行?

iphone - 通用应用的设备特定方向

ios - 删除部分上方的行

iphone - 如何在 iOS 应用程序中管理定期维护?