6
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文档中的枚举定义。 我的问题是:
对于UIViewAnimationOptionCurveEaseInOut,不变的是“0 < < 16”,但如果我的理解是正确的,由16位0左移仍为0。它应该是一样UIViewAnimationOptionTransitionNone是“0 < < 20“(因为它也应该是0)。有两个非常不同的选项等于相同的值似乎没有意义。
此外,我的测试显示UIViewAnimationOptionCurveEaseInOut似乎没有任何效果。
有可能是我误会了,希望有人懂行将有助于...
感谢您的协助。你的回答非常简洁和准确...... – Stanley
我仍然感到困惑..是否指定'UIViewAnimationOptionTransitionNone'会使动画行为变得轻松自如? – Philip007
@ Philip007,no。这意味着对于转换(从一个视图到另一个视图的动画效果),默认值为“UIViewAnimationOptionTransitionNone”,因为它是0.而对于速度曲线,默认情况下为“UIViewAnimationOptionCurveEaseInOut”动画,因为它也是0. – vikingosegundo