iCarousel演练-Swift 3.0
什么是轮播?
![](http://mdm.miximages.com/iOS/16xHhRIc3NDRNJlHSIzahWg.png)
该框架的思想是以令人印象深刻且流畅的方式移动和呈现数据。
—向GitHub的nicklockwood大喊大叫 。
![](http://mdm.miximages.com/iOS/1w6qxD6YK7w-ZIyvGqAbPMw.png)
让我们开始吧。
- 克隆github链接上提供的iCarousel文件,并将其保存到桌面。
尼克洛克伍德/ iCarousel
iCarousel –适用于iOS和Mac OS的简单,高度可定制的,数据驱动的3D旋转木马 github.com
2.创建一个新的XCode项目> Single View Application。
3.从下载的iCarousel文件中,将iCarousel.h
和iCarousel.m
复制并粘贴到您的项目中。 确保单击“创建桥接头”,这将自动配置桥接以使两种语言都可以访问类。
![](http://mdm.miximages.com/iOS/11LsJb46ZwdJ9eKsiWDUohA.png)
![](http://mdm.miximages.com/iOS/1xmkAw-AZnF5kTRd9_TnOpA.png)
4.在-Bridging-Header.h
文件中,我们需要输入
#import "iCarousel.h"
这将使我们能够使用iCarousel框架中的所有文件。
5.为了使用iCarousel框架,我们需要在Build Phases > Link Binary with Libraries
添加QuartzCore.framework
。
![](http://mdm.miximages.com/iOS/1M1hHh5BrCsb8li4ZAqbYcA.png)
现在,所有文件都已设置。 现在,我们可以进行代码编写和设置故事板。 以编程方式设置iCarousel的方法与TableViews和CollectionViews几乎相同。
6.转到情节提要。 在View Controller场景中,选择View
并在Identity Inspector中更改自定义类,然后将其设置为iCarousel
。
![](http://mdm.miximages.com/iOS/14sg07Xw_KlOSbgn1jbPrqw.png)
7.打开助手编辑器。 我们需要从Carousel
视图到View Controller建立IBOutlet
连接。
![](http://mdm.miximages.com/iOS/1587KlmqUmRXvB7g9BlcTtA.png)
8.像我们如何设置TableViews和CollectionViews一样,我们需要在ViewController文件和情节提要板上设置delegate
和dataSource
。
![](http://mdm.miximages.com/iOS/1bVlS57vzB7sMQdlWRO1raA.png)
9.因为我们说过我们的ViewController有一个iCarouselDataSource
协议。 我们需要遵守这些协议,在其中我们需要在ViewController中执行这些功能。
![](http://mdm.miximages.com/iOS/1UDjbOcuOjpIYuq1-06KykQ.png)
10.在示例代码中,我希望轮播显示狗的图像。 让我们继续看一下代码是如何工作的。
创建一个空数组,将保存狗的图像。
var images = [UIImage]()
11.调用函数carousel(viewForIndexAt:reusing:), numberOfItems(in:) and carousel(valueFor:withDefault:)
以符合我们的iCarouselDataSource
协议。
![](http://mdm.miximages.com/iOS/1tPbteaIQW4rhBg-PYVoAGQ.png)
numberOfItems(in:)
返回数组中图像的计数。
在carousel(viewForItemAt:reusing:)
,此函数要求我们返回一个UIView
但我们要在其上放置一个图像,因此我们可以做的是在其顶部插入另一个UIImageView
类型的框架并返回UIView
一旦我们完成插入图像。
函数carousel(valueFor:withDefault:)
是可以调用的可选方法,该方法允许您编辑UIView的间距,角度,标题等。 在这种情况下,我们仅触摸间隔。
12.初始化images
数组,并用您要呈现的数据填充它。
13.最后,也是最酷的部分。 在viewDidLoad()
,调用我们连接到View Controller的插座。
carouselView.reloadData()
carouselView.type = .timeMachine
(这是一个枚举,因此您可以尝试探索其背后的其他动画)
运行应用程序! 🏃🏻
![](http://mdm.miximages.com/iOS/1k0sj6meHmGu__FYClXTg-A.gif)
希望本教程博客对您将来的应用有所帮助,并且可能对您有用。 编码愉快! 👌
![](http://mdm.miximages.com/iOS/1RFO6tHLJ-vj-59NAfp1LKQ.gif)