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