只需简单的 2 步即可快速集成此控件
self.banner = [[ZYBannerView alloc] initWithFrame:CGRectMake(0, 0, 200, 100)];
self.banner.dataSource = self;
[self.view addSubview:self.banner];
// 返回 Banner 需要显示 Item(View)的个数
- (NSInteger)numberOfItemsInBanner:(ZYBannerView *)banner
{
return 3;
}
// 返回 Banner 在不同的 index 所要显示的 View
- (UIView *)banner:(ZYBannerView *)banner viewForItemAtIndex:(NSInteger)index
{
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"xxx"]];
return imageView;
}
各种属性与方法的介绍
NO
@property (nonatomic, assign) IBInspectable BOOL shouldLoop;
NO
(此属性为YES
时, shouldLoop
属性会被置为NO
)@property (nonatomic, assign) IBInspectable BOOL showFooter;
NO
@property (nonatomic, assign) IBInspectable BOOL autoScroll;
@property (nonatomic, assign) IBInspectable NSTimeInterval scrollInterval;
pageIndicatorTintColor
, currentPageIndicatorTintColor
@property (nonatomic, strong, readonly) UIPageControl *pageControl;
@property (nonatomic, assign, readwrite) CGRect pageControlFrame;
@property (nonatomic, weak) IBOutlet id<ZYBannerViewDataSource> dataSource;
@property (nonatomic, weak) IBOutlet id<ZYBannerViewDelegate> delegate;
NOTE :
shouldLoop
,showFooter
,autoScroll
,scrollInterval
,dataSource
,delegate
均可支持在 Storyboard\xib 中直接设置
- (void)reloadData;
viewWillAppear:
和viewWillDisappear:
中分别调用这两个方法, 使得 Banner 没有显示的时候定时器不会一直占用着资源.- (void)startTimer;
- (void)stopTimer;
- (NSInteger)numberOfItemsInBanner:(ZYBannerView *)banner;
index
所要显示的 View. 这个 View 可以是简单的一个 UIImageView, 也可以是自定义的一个复杂的 View. View 的大小自动布局为 Banner 的大小, 无需对此 View 设置frame
[ required ]- (UIView *)banner:(ZYBannerView *)banner viewForItemAtIndex:(NSInteger)index;
ZYBannerFooterStateIdle
正常状态 \ ZYBannerFooterStateTrigger
触发状态)显示的文字 [ optional ]- (NSString *)banner:(ZYBannerView *)banner titleForFooterWithState:(ZYBannerFooterState)footerState;
index
个 Item 时, 此代理方法将被调用 [ optional ]- (void)banner:(ZYBannerView *)banner didSelectItemAtIndex:(NSInteger)index;
- (void)bannerFooterDidTrigger:(ZYBannerView *)banner;
1.使用 CocoaPods:
pod 'ZYBannerView'
2.手动添加:
#import "ZYBannerView.h"
ZYBannerView is released under the MIT license. See LICENSE for details.
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.