HScroller Demo 分享

HScroller Demo 分享

最近在github上分享了个demo,git@github.com:SolaCode/HScroller.git,主要实现的功能就是类似优酷首页上方自动侧滑控件。

demo的效果图如下:
效果图

这个控件的主要涉及思想类似TableView,HorizontalScrollerDelegate也主要仿照TableView的Delegate。

1
2
3
4
5
6
7
8
9
10
11
12
13
@required
// 询问delegate在滚动区域有多少个图被显示
- (NSInteger)numberOfViewsForHorizontalScroller:(HorizontalScroller *)scroller;

// 返回索引是index的视图
- (UIView *)horizontalScroller:(HorizontalScroller *)scroller viewAtIndex:(int)index;

// 当索引是index的视图被点击后通知delegate
- (void)horizontalScroller:(HorizontalScroller *)scroller clickedViewAtIndex:(int)index;

@optional
// 设置默认视图的index,如果没有被delegate实现则返回的是0
- (NSInteger)initialViewIndexForHorizontalScroller:(HorizontalScroller *)scroller;

在ViewController需要使用HScroller时除了实现该协议外,使用方法如下:

1
2
3
4
5
HorizontalScroller *scroller = [[HorizontalScroller alloc] initWithFrame:yourFrame];
scroller.delegate = self;
[scroller reload];//刷新视图
[scroller shouldAutoShow:YES];//设置是否自动滑动
[self.view addSubview:scroller];