提供了一系列简单的 iOS 动画。只需添加水即可!DCAnimationKit 是 UIView 类的一个类别,用于简化动画的实现。
所有示例都将以此为基础。
self.moveLabel = [[UILabel alloc] initWithFrame:CGRectMake(80, 85, 200, 100)];
self.moveLabel.backgroundColor = [UIColor clearColor];
self.moveLabel.text = NSLocalizedString(@"Animate!", nil);
self.moveLabel.font = [UIFont systemFontOfSize:36];
[self.moveLabel sizeToFit];
[self.view addSubview:self.moveLabel];
self.moveView = [[UIView alloc] initWithFrame:CGRectMake(40, 165, 200, 100)];
self.moveView.backgroundColor = [UIColor orangeColor];
[self.view addSubview:self.moveView];
运行 tada 的方法。
[self.moveView tada:NULL];
[self.moveLabel tada:NULL];
运行 bounce 的方法。
[self.moveView bounce:NULL];
[self.moveLabel bounce:NULL];
运行 pulse 的方法。
[self.moveView pulse:NULL];
[self.moveLabel pulse:NULL];
运行 shake 的方法。
[self.moveView shake:NULL];
[self.moveLabel shake:NULL];
运行 swing 的方法。
[self.moveView swing:NULL];
[self.moveLabel swing:NULL];
开头与基本代码略有不同。我们仅仅删除了这两行代码
//[self.view addSubview:self.moveLabel];
//[self.view addSubview:self.moveView];
这些行将在视图成功 snap 后添加到视图中。
运行 snap in 的方法。
[self.moveLabel snapIntoView:self.view direction:DCAnimationDirectionTop];
[self.moveView snapIntoView:self.view direction:DCAnimationDirectionLeft];
运行 bounce in 的方法。
[self.moveLabel bounceIntoView:self.view direction:DCAnimationDirectionTop];
[self.moveView bounceIntoView:self.view direction:DCAnimationDirectionLeft];
运行 expand 的方法。
[self.moveLabel expandIntoView:self.view finished:NULL];
[self.moveView expandIntoView:self.view finished:NULL];
运行压缩的方法。
[self.moveLabel expandIntoView:NULL];
[self.moveView expandIntoView:NULL];
运行铰链的方法。
[self.moveLabel hinge:NULL];
[self.moveView hinge:NULL];
运行下降的方法。
[self.moveLabel drop:NULL];
[self.moveView drop:NULL];
为了结束我们精彩的动画,DCAnimationKit 还简化了普通帧操作。
UIView *baseView = [[UIView alloc] initWithFrame:CGRectMake(40, 85, 50, 50)];
baseView.backgroundColor = [UIColor grayColor];
[self.view addSubview:baseView];
self.moveView = [[UIView alloc] initWithFrame:baseView.frame];
self.moveView.backgroundColor = [UIColor redColor];
[self.view addSubview:self.moveView];
移动的代码。
CGFloat distance = 80;
__weak id weakSelf = self.moveView;
[weakSelf moveX:distance finished:^{
[weakSelf moveY:distance finished:^{
[weakSelf moveX:-distance finished:^{
[weakSelf moveY:-distance finished:^{
}];
}];
}];
}];
我们还可以将视图的原点设置为特定的值。
__weak id weakSelf = self.moveView;
[weakSelf setX:200 finished:^{
[weakSelf setY:200 finished:^{
[weakSelf setX:40 finished:^{
[weakSelf setY:85 finished:^{
}];
}];
}];
}];
甚至可以将滑块移动到特定的点(也有移动操作!)。
[self.moveView movePoint:CGPointMake(100, 100) finished:NULL];
我们的旋转代码(也有旋转移动操作)。
__weak id weakSelf = self.moveView;
[weakSelf setRotation:45 duration:.35 finished:^{
[weakSelf setRotation:0 duration:.35 finished:^{
}];
}];
推荐使用 CocoaPods 软件包管理器来安装 DCAnimationKit,因为它提供了灵活的依赖管理,安装过程也非常简单。
通过 CocoaPods
如果尚未安装,请安装 CocoaPods
$ [sudo] gem install cocoapods
$ pod setup
切换到 Xcode 项目的目录,创建和编辑您的 Podfile,并添加 DCAnimationKit
$ cd /path/to/MyProject
$ touch Podfile
$ edit Podfile
platform :ios, '7.0'
pod 'DCAnimationKit'
将内容安装到项目中
$ pod install
从 .xcworkspace 文件(而不是常用的项目文件)打开您的项目到 Xcode 中
DCAnimationKit 需要 iOS 7 或更高版本。
DCAnimationKit 遵循 Apache 许可协议。