用于神奇滚动交互的Objective-C库。这个库受到Scroll Magic JavaScript库的启发。你可以使用 Ouroboros
创建神奇的滚动交互。
要运行示例项目,首先克隆仓库,然后从Example目录运行 pod install
。
Ouroboros通过 CocoaPods 提供。要安装它,只需将以下行添加到你的Podfile中
pod "Ouroboros"
#import "Ouroboros.h"
为 view
添加动画非常简单。首先调用 ouroboros
,然后调用 animateWithProperty:configureBlock:
方法。
[view.ouroboros animateWithProperty:OURAnimationPropertyViewBackgroundColor
configureBlock:^(Ouroboros *ouroboros) {
ouroboros.toValue = [UIColor blueColor];
ouroboros.trigger = 0;
ouroboros.duration = 100;
}];
你应该将 OURAnimationProperty
类型传递到这个方法中,并在块中设置 ouroboros
实例。这就是全部了。
trigger
是动画开始的点,而 offset
是动画发生的距离。
typedef enum : NSUInteger {
OURAnimationPropertyViewFrame,
OURAnimationPropertyViewBounds,
OURAnimationPropertyViewSize,
OURAnimationPropertyViewCenter,
OURAnimationPropertyViewPosition,
OURAnimationPropertyViewOrigin,
OURAnimationPropertyViewOriginX,
OURAnimationPropertyViewOriginY,
OURAnimationPropertyViewWidth,
OURAnimationPropertyViewHeight,
OURAnimationPropertyViewCenterX,
OURAnimationPropertyViewCenterY,
OURAnimationPropertyViewBackgroundColor,
OURAnimationPropertyViewTintColor,
OURAnimationPropertyViewAlpha,
OURAnimationPropertyViewTransform,
} OURAnimationProperty;
对于 scrollView
有两种动画方向,如果你想根据 contentOffset.x
来动画化,你应该将 scrollView
属性 ou_scrollDirection
改为 OURScrollDirectionHorizontal
。
typedef enum : NSUInteger {
OURScrollDirectionVertical,
OURScrollDirectionHorizontal,
} OURScrollDirection;
OURScrollDirectionVertical
是每个 scrollView
的默认行为,当 scrollView
的 contentOffset.y
改变时将执行动画。
Draveness,[email protected]
Ouroboros可在MIT许可证下获得。有关更多信息,请参阅LICENSE文件。