【问题标题】:Why do different block animation constants have the same value?为什么不同的块动画常量具有相同的值?
【发布时间】:2011-09-20 11:32:33
【问题描述】:

UIViewAnimationOptions
使用块动画视图的选项。

enum {
   UIViewAnimationOptionLayoutSubviews            = 1 <<  0,
   UIViewAnimationOptionAllowUserInteraction      = 1 <<  1,
   UIViewAnimationOptionBeginFromCurrentState     = 1 <<  2,
   UIViewAnimationOptionRepeat                    = 1 <<  3,
   UIViewAnimationOptionAutoreverse               = 1 <<  4,
   UIViewAnimationOptionOverrideInheritedDuration = 1 <<  5,
   UIViewAnimationOptionOverrideInheritedCurve    = 1 <<  6,
   UIViewAnimationOptionAllowAnimatedContent      = 1 <<  7,
   UIViewAnimationOptionShowHideTransitionViews   = 1 <<  8,

   UIViewAnimationOptionCurveEaseInOut            = 0 << 16,
   UIViewAnimationOptionCurveEaseIn               = 1 << 16,
   UIViewAnimationOptionCurveEaseOut              = 2 << 16,
   UIViewAnimationOptionCurveLinear               = 3 << 16,

   UIViewAnimationOptionTransitionNone            = 0 << 20,
   UIViewAnimationOptionTransitionFlipFromLeft    = 1 << 20,
   UIViewAnimationOptionTransitionFlipFromRight   = 2 << 20,
   UIViewAnimationOptionTransitionCurlUp          = 3 << 20,
   UIViewAnimationOptionTransitionCurlDown        = 4 << 20,
};
typedef NSUInteger UIViewAnimationOptions;

考虑 iOS 文档中的 about 枚举定义。 我的问题是:
对于 UIViewAnimationOptionCurveEaseInOut,常数是“0

另外,我的测试显示 UIViewAnimationOptionCurveEaseInOut 似乎根本没有任何效果。

可能是我的一些误解,希望有知识的人能帮助...

http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIView_Class/UIView/UIView.html%23//apple_ref/c/tdef/UIViewAnimationOptions

【问题讨论】:

    标签: ios objective-c cocoa-touch ios4


    【解决方案1】:

    所有等于 0 的选项都是默认设置,所以如果你不传入任何选项都与传入(UIViewAnimationOptionCurveEaseInOut| UIViewAnimationOptionTransitionNone) 或只是0 相同

    【讨论】:

    • 我还是很困惑.. 指定 'UIViewAnimationOptionTransitionNone' 是否会使动画行为变得轻松进出?
    • @Philip007,没有。这意味着对于过渡(从一个视图到另一个视图的动画效果),默认值为 UIViewAnimationOptionTransitionNone,因为它是 0。对于动画时的速度曲线 UIViewAnimationOptionCurveEaseInOut 是默认值,因为它也是 0。
    • 现在对我来说更有意义了。这样我们就有了两种 UIView 动画:一种是从一种视图过渡到另一种,另一种是移动一种视图,对吗?如果是这样,为什么将两种动画的选项放在一个枚举中?
    • 它们是一个动画的不同方面:效果(向上卷曲、向下卷曲、向上翻转、向下翻转)和速度曲线(缓入、缓出缓入和缓出、线性),以及每个方面都有一个默认值。而这个默认值用0表示。
    • 我猜这就是为什么枚举分为 3 组。谢谢!
    猜你喜欢
    • 2018-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多