AACarousel
Easy to create image slider in Swift
Feature
- pure swift 4.2 code
- class is custom UIView , not UIPageViewController
- you can download image use iOS native SDK or other 3rd SDK
- require iOS 8 or later
Style One
Style Two
Installation
CocoaPods
AACarousel is available through CocoaPods.
Simply add AACarousel to your Podfile.
pod 'AACarousel'
Enter command instruction into your terminal.
pod install
Carthage
AACarousel is available through Carthage.
Simply add AACarousel to your Cartfile.
github "Alan881/AACarousel"
Enter command instruction into your terminal.
carthage update --platform iOS
Usage
You must create UIView and it use custom class in the storyboard after install AACarousel.
Then you must also create a IBOutlet in your UIViewController Class with AACarouselDelegate.
The following sample code for your reference.
var titleArray = [String]()
override func viewDidLoad() {
super.viewDidLoad()
let pathArray = ["http://www.gettyimages.ca/gi-resources/images/Embed/new/embed2.jpg",
"https://ak.picdn.net/assets/cms/97e1dd3f8a3ecb81356fe754a1a113f31b6dbfd4-stock-photo-photo-of-a-common-kingfisher-alcedo-atthis-adult-male-perched-on-a-lichen-covered-branch-107647640.jpg",
"https://imgct2.aeplcdn.com/img/800x600/car-data/big/honda-amaze-image-12749.png",
"http://www.conversion-uplift.co.uk/wp-content/uploads/2016/09/Lamborghini-Huracan-Image-672x372.jpg",
"very-large-flamingo"]
titleArray = ["picture 1","picture 2","picture 3","picture 4","picture 5"]
carouselView.delegate = self
carouselView.setCarouselData(paths: pathArray, describedTitle: titleArray, isAutoScroll: true, timer: 5.0, defaultImage: "defaultImage")
//optional methods
carouselView.setCarouselOpaque(layer: false, describedTitle: false, pageIndicator: false)
carouselView.setCarouselLayout(displayStyle: 0, pageIndicatorPositon: 5, pageIndicatorColor: nil, describedTitleColor: nil, layerColor: nil)
} //require method
func downloadImages(_ url: String, _ index: Int) {
//here is download images area
let imageView = UIImageView()
imageView.kf.setImage(with: URL(string: url)!, placeholder: UIImage.init(named: "defaultImage"), options: [.transition(.fade(0))], progressBlock: nil, completionHandler: { (downloadImage, error, cacheType, url) in
self.carouselView.images[index] = downloadImage!
})
} //optional method (interaction for touch image)
func didSelectCarouselView(_ view: AACarousel ,_ index: Int) {
let alert = UIAlertView.init(title:"Alert" , message: titleArray[index], delegate: self, cancelButtonTitle: "OK")
alert.show()
//startAutoScroll()
//stopAutoScroll()
}
//optional method (show first image faster during downloading of all images)
func callBackFirstDisplayView(_ imageView: UIImageView, _ url: [String], _ index: Int) {
imageView.kf.setImage(with: URL(string: url[index]), placeholder: UIImage.init(named: "defaultImage"), options: [.transition(.fade(1))], progressBlock: nil, completionHandler: nil)
}
func startAutoScroll() {
//optional method
carouselView.startScrollImageView()
}
func stopAutoScroll() {
//optional method
carouselView.stopScrollImageView()
}
License
AACarousel is available under the MIT license. See the LICENSE file for more info.



