WMZBanner - 最好用的轻量级轮播图+卡片样式+自定义样式
演示
特性
用法
默认模式
主要适用于普通样式的情况下使用
直观 清晰, 编码时可随初始化控件编写完成, 不影响编码思路.
WMZBannerParam *param = BannerParam()
.wFrameSet(CGRectMake(0, BannerHeight/4*3+10, BannerWitdh, BannerHeight/5))
//传入数据
.wDataSet([self getData])
//开启循环滚动
.wRepeatSet(YES)
//开启自动滚动
.wAutoScrollSet(YES)
//自动滚动时间
.wAutoScrollSecondSet(3)
;
self.viewTwo = [[WMZBannerView alloc]initConfigureWithModel:param withView:self.view];
卡片模式
BannerParam()
.wFrameSet(CGRectMake(0, BannerHeight/4*3+10, BannerWitdh, BannerHeight/5))
//item之间的间距
.wLineSpacingSet(15)
//开启缩放效果
.wScaleSet(YES)
//缩放垂直系数
.wActiveDistanceSet(400)
//缩放系数
.wScaleFactorSet(0.5)
//item的size
.wItemSizeSet(CGSizeMake(BannerWitdh*0.8, BannerHeight/5))
//固定移动的距离 size*倍数
.wContentOffsetXSet(0.5)
//默认选中
.wSelectIndexSet(2)
.wRepeatSet(YES)
.wAutoScrollSecondSet(3)
.wAutoScrollSet(NO)
//item中心位置
.wPositionSet(BannerCellPositionCenter)
//整体左右偏移 item.width的一半 让第一个和最后一个可以居中
.wSectionInsetSet(UIEdgeInsetsMake(0,BannerWitdh*0.4, 0, BannerWitdh*0.4))
.wDataSet([self getData]);
跑马灯
WMZBannerParam *param = BannerParam()
.wFrameSet(CGRectMake(10, BannerHeight/2-20, BannerWitdh-20, 30))
.wDataSet(@[@"热门商品",@"Hot",@"热点资讯",@"其他热门"])
//关闭手指滑动
.wCanFingerSlidingSet(NO)
//开启循环滚动
.wRepeatSet(YES)
//开启自动滚动
.wAutoScrollSet(YES)
//自动滚动时间
.wAutoScrollSecondSet(3)
//跑马灯
.wMarqueeSet(YES)
天猫精灵样式
大概效果图
BannerParam()
.wFrameSet(CGRectMake(0, BannerHeight/4*3+10, BannerWitdh, BannerHeight/5))
.wDataSet([self getData])
//关闭pageControl
.wHideBannerControlSet(YES)
//开启缩放
.wScaleSet(YES)
//垂直缩放参数
.wActiveDistanceSet(400)
//缩放系数
.wScaleFactorSet(0.5)
//自定义item的大小
.wItemSizeSet(CGSizeMake(BannerWitdh*0.7, BannerHeight/5))
//固定移动的距离
.wContentOffsetXSet(0.4)
//循环
.wRepeatSet(YES)
//item的间距
.wLineSpacingSet(10)
//整体左右间距 右边偏移item.width的一半 让最后一个可以居中
.wSectionInsetSet(UIEdgeInsetsMake(0,10, 0, 10+BannerWitdh*0.35))
自定义cell
传入一个继承UICollectionViewCell的类
BannerParam()
//自定义视图必传
.wMyCellClassNameSet(@"MyCell")
.wMyCellSet(^UICollectionViewCell *(NSIndexPath *indexPath, UICollectionView *collectionView, id model, UIImageView *bgImageView,NSArray*dataArr) {
//自定义视图
MyCell *cell = (MyCell *)[collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([MyCell class]) forIndexPath:indexPath];
[cell.icon sd_setImageWithURL:[NSURL URLWithString:model[@"icon"]] placeholderImage:nil];
cell.leftText.text = model[@"name"];
//毛玻璃效果必须实现 看实际情况 取最后一个还是中间那个
[bgImageView sd_setImageWithURL:[NSURL URLWithString:model[@"icon"]] placeholderImage:nil];
[bgImageView sd_setImageWithURL:[NSURL URLWithString:dataArr[(indexPath.row == 0?:(indexPath.row-1))][@"icon"]] placeholderImage:nil];
return cell;
})
.wEventClickSet(^(id anyID, NSIndexPath *path) {
NSLog(@"点击 %@ %@",anyID,path);
})
.wFrameSet(CGRectMake(0, BannerHeight/4*3+10, BannerWitdh, BannerHeight/5))
更新UI
-(void)updateUI; 改变.wDataSet(@[]),然后调用updateUI()实例方法即可
其他可配置的全部参数说明
布局方式 frame 必传
wFrame
数据源 必传
wData
开启缩放 default NO
wScale
背景毛玻璃效果 default NO
wEffect
纵向(cell全屏的时候有效) default NO
wVertical
跑马灯(文字效果) default NO
wMarquee
缩放系数 数值越大缩放越大 default 0.5
wScaleFactor
垂直缩放 数值越大缩放越小 default 400
wActiveDistance
item的size default 视图的宽高 item的width最小为父视图的一半 (为了保证同屏最多显示3个 减少不必要的bug)
wItemSize
item的之间的间距 default 0
wLineSpacing
滑动的时候偏移的距离 以倍数计算 default 0.5 正中间
wContentOffsetX
左右相邻item的中心点 default BannerCellPositionCenter
wPosition
图片不变形铺满 默认 YES
wImageFill
占位图片 默认 -
wPlaceholderImage
开启无线滚动 default NO
wRepeat
整体间距 default UIEdgeInsetsMake(0,0, 0, 0) 如果是一屏幕有2 3个的 要让第一个和最后一个居中最好设置偏移量
wSectionInset
开启自动滚动 default NO
wAutoScroll
自动滚动间隔时间 default 3.0f
wAutoScrollSecond
默认移动到第几个 default 0
wSelectIndex
自定义cell内容 default @“Collectioncell"
wMyCell
自定义cell的类名 自定义视图必传 不然会crash
wMyCellClassName
点击方法
wEventClick
隐藏pageControl default NO
wHideBannerControl
是否允许手势滑动 default YES
wCanFingerSliding
系统的圆点颜色 default ffffff
wBannerControlColor
系统的圆点选中颜色 default orange
wBannerControlSelectColor
自定义安全的圆点图标 default -
wBannerControlImage
自定义安全的选中圆点图标 default -
wBannerControlSelectImage
自定义安全的圆点图片圆角 default ImageSize/2
wBannerControlImageRadius
自定义安全的圆点图标的size default (5,5)
wBannerControlImageSize
自定义安全的选中圆点图标的size default (10,5)
wBannerControlSelectImageSize
滚动减速时间 default UIScrollViewDecelerationRateFast
wDecelerationRate
依赖
SDWebImage
安装
CocoaPods
将 cocoapods 更新至最新版本.
在 Podfile 中添加 pod 'WMZBanner'
。
执行 pod install
或 pod update
。
导入 #import "WMZBannerView.h"。
注:要消除链式编程的警告
要在Buildding Settings 把CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF 设为NO
手动安装
下载 WMZBanner 文件夹内的所有内容。
将 WMZBanner 内的源文件添加(拖放)到你的工程。
导入 #import "WMZBannerView.h"
系统要求
该库最低支持 iOS 9.0
和 Xcode 9.0
。
本文向大家介绍vue移动端轻量级的轮播组件实现代码,包括了vue移动端轻量级的轮播组件实现代码的使用技巧和注意事项,需要的朋友参考一下 一个简单的移动端卡片滑动轮播组件,适用于Vue2.x c-swipe 2.0 全新归来。重写了全部的代码,更靠谱的质量,更优秀的性能 English Document 安装 npm install c-swipe --save 使用 注册组件 在 .vue 单文件
问题内容: 我正在寻找一种轻巧的方法来使我的程序(用C语言编写)能够在Windows或Linux上播放音频文件。我目前正在使用Windows本机调用,这实际上只是传递文件名的单个调用。我想要在Linux上也可以使用的类似软件。 音频文件是Microsoft PCM,单通道,22Khz 有什么建议么? 问题答案: 由于我也在寻找问题的答案,因此我做了一些研究,但没有找到播放音频文件的任何简单(类
本文向大家介绍jQuery轻松实现无缝轮播效果,包括了jQuery轻松实现无缝轮播效果的使用技巧和注意事项,需要的朋友参考一下 这个无缝轮播和那个图片平滑滚动的原理差不多。 原理:ul向左滚动,滚动一次,第一个li向ul插入,然后在让怎个ul的left值为0,也就是初始状态,这个状态太快我们无法看到,所以才会有平滑滚动的效果 //CSS //HTML //JQUERY 以上就是本文的全部内容,希望
主要内容:使用普通函数创建 goroutine,使用匿名函数创建goroutine在编写 Socket 网络程序时,需要提前准备一个线程池为每一个 Socket 的收发包分配一个线程。开发人员需要在线程数量和 CPU 数量间建立一个对应关系,以保证每个任务能及时地被分配到 CPU 上进行处理,同时避免多个任务频繁地在线程间切换执行而损失效率。 虽然,线程池为逻辑编写者提供了线程分配的抽象机制。但是,如果面对随时随地可能发生的并发和线程处理需求,线程池就不是非常直观和方便了。能否
Jenkins Pipeline插件有一个称为“轻量级签出”的功能,其中主服务器仅从repo中提取Jenkinsfile,而不是整个repo。配置屏幕中有一个相应的复选框。我想在多分支管道中进行轻量级签出,但我在多分支配置屏幕中没有看到复选框。有什么想法如何实现这一点吗?我注意到一些关闭的问题表明此功能可用,但我无法找到任何有关如何实现它的细节。 相关资料: https://issues.jenk
问题内容: JPanel和JFrame有什么区别,以及与轻量级,重量级的关系? 问题答案: JPanel是允许将多个UI组件放在一起的容器。JFrame是使用Swing编写的窗口。 所有的Swing组件都是所谓的“轻型”组件,因为它们是用Java编写的。例如,如果您运行Swing应用程序并尝试使用UI分析工具(例如Windows中的WinSpy)对其进行分析,则只会看到一个元素:窗口(JFrame