Shapes 1.0.2

Shapes 1.0.2

测试已测试
语言语言 Obj-CObjective C
许可 MIT
发布最新发布2015年5月

Denys Telezhkin维护。




Shapes 1.0.2

    License MIT

Shapes 是一组围绕 CAShapeLayer 和 UIBezierPath 的包装器,允许在 iOS 上绘制和动画几何形状视图。关于它的更多信息可以在博客上阅读:[http://mlsdev.com/blog/23](http://mlsdev.com/blog/23)

形状视图

DTShapeView 是一个UIView子类,其背后由CAShapeLayer而不是CALayer支持。它提供了更改CAShapeLayer路径、填充和描边颜色以及其他图层属性的API,基本允许UIView表现出几何形状的行为。

所有 DTShapeView 属性都会自动转换为CAShapeLayer属性或直接使用CAShapeLayer属性。您可以使用自己喜欢的任何样式,但我们推荐使用 UIBezierPath 和 DTShapeView 属性,因为这允许您完全绕过 CoreFoundation 对象。这也允许您使用 CoreGraphics API 而不是 QuartzCore。

DTShapeView 在其路径内完全支持显式和隐式动画以及点击测试。

进度视图

DTProgressView 是一个DTShapeView子类,允许动画任何形状的进度视图。《code>DTProgressView 使用 DTShapeView 路径作为轨道。

默认情况下,DTProgressView 填充整个视图边界,从左到右填充视图。创建进度视图所需要做的,就是将其拖放到您的视图中,设置描边颜色,然后进度视图就准备好了!

self.simpleProgressView.strokeColor = [UIColor greenColor];

每当进度发生变化时,只需调用

[self.simpleProgressView setProgress:progress animated:YES];

进度更改将进行动画。的 DTProgressView 支持任何 UIBezierPath 能够定义的几何形状,并允许自定义动画持续时间和动画函数。

变暗视图

DTDimmingView 允许通过“剪切”视图中的可见路径来变暗视图的一部分。默认情况下,变暗路径包含整个UIView边界。创建一个描述应可见视图部分的UIBezierPath,并将其设置在DTDimmingView实例上以允许内容可见。

    UIBezierPath * roundedPath = [UIBezierPath bezierPathWithOvalInRect:CGRectInset(self.view.bounds, 100, 100)];
    self.dimmingDynamicView.visiblePath = roundedPath;

形状按钮

DTShapeButton 是一个UIButton,在其中添加了DTShapedView作为子视图。因此,通过更改 DTShapedView 属性,它允许操纵UIButton的形状和视觉外观。默认情况下,按钮形状是一个矩形,UIButton的边界设置为它的框架。例如,绘制AppStore下载按钮的初始状态看起来像这样

self.downloadButton.shape.path = [UIBezierPath bezierPathWithRoundedRect:self.downloadButton.bounds cornerRadius:5.0f];

要了解更多关于形状之间动画如何工作的信息,请阅读使用 Shapes 制作可动画按钮教程

示例

查看在 ShapesExample 文件夹中提供的示例项目。

要求

  • iOS 7,8
  • ARC
  • XCode 6 和 iOS 8 SDK

安装

使用 CocoaPods

pod 'Shapes', '~> 1.0.0'