BWMCoverView is a very easy to use advertising the carousel view, supports circular scrolling functions such as switching, asynchronous loading of images, animation, custom is very high.

Overview

BWMCoverView

GitHub license forks stars CocoaPods Release

BWMCoverView is a very easy to use advertising the carousel view, supports circular scrolling functions such as switching, asynchronous loading of images, animation, custom is very high.

######ScreenShot

Requirements

  • Xcode 6 or higher
  • Apple LLVM compiler
  • iOS 6.0 or higher
  • ARC

Demo

Build and run the BWMCoverView.xcodeproj project in Xcode.

Installation

CocoaPods

The recommended approach for installating BWMCoverView is via the CocoaPods package manager, as it provides flexible dependency management and dead simple installation. For best results, it is recommended that you install via CocoaPods >= 0.35.0 using Git >= 2.3.2 installed via Homebrew.

Install CocoaPods if not already available:

$ [sudo] gem install cocoapods
$ pod setup

Change to the directory of your Xcode project:

$ cd /path/to/MyProject
$ touch Podfile
$ edit Podfile

Edit your Podfile and add BWMCoverView:

platform :ios, '7.0'
pod 'BWMCoverView', '~> 0.0.1'

Install into your Xcode project:

$ pod install

Open your project in Xcode from the .xcworkspace file (not the usual project file)

$ open MyProject.xcworkspace

Please note that if your installation fails, it may be because you are installing with a version of Git lower than CocoaPods is expecting. Please ensure that you are running Git >= 2.3.2 by executing git --version. You can get a full picture of the installation details by executing pod install --verbose.

Manual Install

All you need to do is drop BWMCoverView files into your project, and add #include "BWMCoverView.h" to the top of classes that will use it.

Usage

Usage is very simple, just need 3 steps.

  1. Create array of BWMCoverViewModel

  2. Using BWMCoverView factory method + coverViewWithModels:andFrame:andPlaceholderImageNamed:andClickdCallBlock: create the new BWMCoverView.

  3. Add BWMCoverView to view

1.Create array of BWMCoverViewModel

// 此数组用来保存BWMCoverViewModel
NSMutableArray *realArray = [[NSMutableArray alloc] init];

for (int i = 0; i<5; i++) {
    NSString *imageStr = [NSString stringWithFormat:@"http://www.iphone567.com/wp-content/uploads/2014/10/image0%d.jpg", i+1];
    NSString *imageTitle = [NSString stringWithFormat:@"%d个小猫", i+1];
    BWMCoverViewModel *model = [[BWMCoverViewModel alloc] initWithImageURLString:imageStr imageTitle:imageTitle];
    [realArray addObject:model];
}

// 以上代码只为了构建一个包含BWMCoverViewModel的数组而已——realArray

2.Create BWMCoverView to the view.

Using BWMCoverView factory method + coverViewWithModels:andFrame:andPlaceholderImageNamed:andClickdCallBlock: create the new BWMCoverView.

Parameters:

  • models: Is an array containing the BWMCoverViewModel
  • placeholderImageNamed: Local name of the placeholder image
  • andClickdCallBlock: Click on the picture to the callback
BWMCoverView *coverView = [BWMCoverView coverViewWithModels:realArray andFrame:self.view.frame andPlaceholderImageNamed:BWMCoverViewDefaultImage andClickdCallBlock:^(NSInteger index) {
    NSLog(@"你点击了第%d个图片", index);
}];

3.Add the specified view

[self.view addSubview:coverView];

In fact, more than just 3 sentences to create a BWMCoverView, you can also read, more custom effects.

More create methods

Example:

// 你也可以试着调用init方法创建BWMCoverView
BWMCoverView *coverView2 = [[BWMCoverView alloc] initWithFrame:self.view.frame];
[self.view addSubview:coverView2];

coverView2.models = realArray;
coverView2.placeholderImageNamed = BWMCoverViewDefaultImage;
coverView2.animationOption = UIViewAnimationOptionTransitionCurlUp;

[coverView2 setCallBlock:^(NSInteger index) {
    NSLog(@"你点击了第%d个图片", index);
}];

[coverView2 setScrollViewCallBlock:^(NSInteger index) {
    NSLog(@"当前滚动到第%d个页面", index);
}];

Customization options

Option 1: set the view every time scrolling callback methods

[coverView setScrollViewCallBlock:^(NSInteger index) {
    NSLog(@"当前滚动到第%d个页面", index);
}];

Option 2: set AutoPlay

[coverView setAutoPlayWithDelay:3.0]; 

Where '3.0' is the distance in seconds.

Optional 3: set the picture display mode.

coverView.imageViewsContentMode = UIViewContentModeScaleAspectFit;

This's enum UIViewContentMode

Option 4: stop/resume auto-play

[coverView stopAutoPlayWithBOOL:YES]; // 停止自动播放
[coverView stopAutoPlayWithBOOL:NO]; // 恢复自动播放

Optional 5: set the toggle animation

[coverView setAnimationOption:UIViewAnimationOptionTransitionCurlUp]; // 设置切换动画

Optional 6: set hidden TitleLabel

coverView.titleLabel.hidden = YES; //隐藏TitleLabel
There are members of the following UI:
  • coverView2.scrollView
  • coverView2.pageControl
  • coverView2.titleLabel

Please view the interfaces file BWMCoverView.h.

After modifying the attribute must call the updateView method

[coverView updateView]; //修改属性后必须调用updateView方法,更新视图

LICENSE

BWMCoverView is available under the MIT license.

Contact

If you have any questions or suggestions, contact me QQ724849296 or call +8615918550637, please.

You might also like...
List a collection of items in a horizontally scrolling view. A scaling factor controls the size of the items relative to the center.
List a collection of items in a horizontally scrolling view. A scaling factor controls the size of the items relative to the center.

CAROUSEL List a collection of items in a horizontally scrolling view. A scaling factor controls the size of the items relative to the center. We speci

ChainPageCollectionView  A custom View with two level chained collection views and fancy transition animation
ChainPageCollectionView A custom View with two level chained collection views and fancy transition animation

ChainPageCollectionView A custom View with two level chained collection views and fancy transition animation. Demo Requirements iOS 9.0+ Xcode 8 Insta

VCore is a Swift collection containing objects, functions, and extensions that I use for all my projects
VCore is a Swift collection containing objects, functions, and extensions that I use for all my projects

VCore Table of Contents Description Library Structure Architecture Gateway Demo Installation Versioning Contact Description VCore is a Swift collectio

LottieUI - A library developed to make Lottie easy to implement. It supports iOS and macOS

LottieUI It is a library developed to make Lottie easy to implement. It supports

CCMRadarView uses the IBDesignable tools to make an easy customizable radar view with animation
CCMRadarView uses the IBDesignable tools to make an easy customizable radar view with animation

CCMRadarView CCMRadarView is a simple to use view that uses the new IBDesignable and IBInspectable features of XCode6 to easily configure the icon in

MGFlipView allows to create flipping view in easy way without worrying about flipping animation and flipping logic.
MGFlipView allows to create flipping view in easy way without worrying about flipping animation and flipping logic.

MGFlipView About If you are looking for an easy way of implement 3D flipping view, you are in the right place. MGFlipView allows to create flipping vi

Simple Interface Core Animation. Run type-safe animation sequencially or parallelly
Simple Interface Core Animation. Run type-safe animation sequencially or parallelly

Simple Interface Core Animation Sica can execute various animations sequentially or parallelly. Features Animation with duration and delay parallel /

SwiftUI-Text-Animation-Library - Text animation library for SwiftUI
SwiftUI-Text-Animation-Library - Text animation library for SwiftUI

⚠️ This repository is under construction. SwiftUI Text Animation Library Make yo

Swiftui-animation-observer - Track SwiftUI animation progress and completion via callbacks
Swiftui-animation-observer - Track SwiftUI animation progress and completion via callbacks

SwiftUI Animation Observer Track SwiftUI animation progress and completion via c

Comments
  • add UIPageControll

    add UIPageControll

    How can I add UIPageControll to the cover view? I'm using this project in swift but answer in objective-c will be great too. Please help me as soon as possible. thank you

    opened by amitrrrr2 0
Letters animation allows you to click on different letters and accordingly it will animate letters in a cool way. It has a very attractive UI and is very easy to use.

Letters Animation Cool Letters Animation in iOS written in Swift. Preview Table of content :- Description How to add in your project Requirement Licen

MindInventory 31 Oct 4, 2022
Numbers animation allows you to click on different numbers and accordingly it will animate numbers in a cool way. It has a very attractive UI and is very easy to use.

Numbers Animation Cool Numbers Animation in iOS written in Swift. Preview Table of content :- Description How to add in your project Requirement Licen

MindInventory 31 Oct 4, 2022
Reading animation allows you to click on the different page numbers and accordingly it will animate page changes in a cool way. It has a very attractive UI and is very easy to use.

Reading Animation Cool Reading Animation in iOS written in Swift. Preview Table of content :- Description How to add in your project Requirement Licen

MindInventory 42 Oct 4, 2022
(Animate CSS) animations for iOS. An easy to use library of iOS animations. As easy to use as an easy thing.

wobbly See Wobbly in action (examples) Add a drop of honey ?? to your project wobbly has a bunch of cool, fun, and easy to use iOS animations for you

Sagaya Abdulhafeez 150 Dec 23, 2021
(Animate CSS) animations for iOS. An easy to use library of iOS animations. As easy to use as an easy thing.

wobbly See Wobbly in action (examples) Add a drop of honey ?? to your project wobbly has a bunch of cool, fun, and easy to use iOS animations for you

Sagaya Abdulhafeez 150 Dec 23, 2021
A lightweight loading animation that can be applied to any SwiftUI view with 1 line of code.

SimpleAFLoader A lightweight loading animation that can be applied to any SwiftUI view with 1 line of code. All animations are built using the SwiftUI

Fahim Rahman 2 Aug 25, 2022
Circular progress Animation

JDCircularProgress JDCircularProgress is animateable UIView that can significantly enhance your users’ experiences and set your app apart from the res

Jawad Ali 8 May 16, 2022
An experiment for using SwiftUI's custom timing Animation to create an orbital-like animation.

Orbital-SwiftUI-Animation An experiment for using SwiftUI's custom timing curve to create an orbital-like animation. How it looks: How it works: Apply

Mostafa Abdellateef 7 Jan 2, 2023
An easy way to add a shimmering effect to any view with just one line of code. It is useful as an unobtrusive loading indicator.

LoadingShimmer An easy way to add a shimmering effect to any view with just single line of code. It is useful as an unobtrusive loading indicator. Thi

Jogendra 1.4k Jan 6, 2023
Circular reveal animations made easy

This library was created to allow developers to implement the material design's reveal effect. You can simply use this component to reveal and unverea

T-Pro 25 Dec 7, 2022