SNPageView 1.1.0

SNPageView 1.1.0

测试已测试
语言语言 Obj-CObjective C
许可协议 MIT
发布最新版本2016年6月

sheodon 维护。



  • 作者:
  • sheodon

分页滚动控件,通过 Objective-C 可实现轮播(支持页面视图和标签页视图)

屏幕截图

安装

手动

  • 克隆此仓库。
  • 简单地将 '/SNPageView' 文件夹拖到您的项目中。
  • 导入 'SNPageView.h'
  • 导入 'SNPageBar.h'
  • 享受它!

SNPageView

SNPageView 代理

@required
/// return page numbers
- (NSInteger) sn_pageViewForPageNumbers:(SNPageView *)pageView;
/// return UIView at index;
- (UIView*) sn_pageView:(SNPageView *)pageView viewAtIndex:(NSInteger)index;

@optional
/// called just one time
- (void) sn_pageView:(SNPageView *)pageView itemDidAppear:(SNPageViewItem *)item;
/// called just one time
- (void) sn_pageView:(SNPageView *)pageView itemDidDisappear:(SNPageViewItem *)item;
/// called many times
- (void) sn_pageView:(SNPageView *)pageView itemWillAppear:(SNPageViewItem *)item;
/// called many times
- (void) sn_pageView:(SNPageView *)pageView itemWillDisappear:(SNPageViewItem *)item;
/// called many times
- (void) sn_pageView:(SNPageView *)pageView itemWillAppear:(SNPageViewItem *)appearItem itemWillDisappear:(SNPageViewItem *)disappearItem;

SNPageView 方法

/// 是否循环滚动(default:NO)
@property (nonatomic, assign)   BOOL          repeatScroll;
/// 当前页数 (default:0)
@property (nonatomic, assign)   NSInteger     currentIndex;

@property (nonatomic, readonly) UIScrollView  *scrollView;

@property (nonatomic, weak) id<SNPageViewDelegate> delegate;
/// 从当前位置滚动到指定的位置
- (void) scrollToPageAtIndex:(NSInteger)index animated:(BOOL)animated;
/// 重新加载
- (void) reloadData;
/// 返回指定索引的 view
- (UIView *)viewAtIndex:(NSInteger )index;

SNPageBar 使用方法

CGFloat kViewSize = CGSizeMake(320, 640)
CGFloat kPageBarHeight = 40;
CGFloat kPageContentHeight = kViewSize.height - kPageBarHeight;

/// create PageBar
SNPageBar *pageBar = [SNPageBar.alloc initWithFrame:CGRectMake(0, 0, kViewSize.width, kPageBarHeight)];
//pageBar.minItemWidth = 90; // defatul:74 // set item min width
[self.view addSubview:self.pageBar];

/// create item1 and set content view
SNPageBarItem *item1 = [SNPageBarItem.alloc initWithTitle:@"标题1" Target:nil action:nil];
item1.contentView = [SNPageBarContent.alloc initWithFrame:CGRectMake(0, 0, kViewSize.width, kPageContentHeight)];
[pageBar addItem:item1];

/// create item2 and set content view
SNPageBarItem *item2 = [SNPageBarItem.alloc initWithTitle:@"标题2" Target:nil action:nil];
item2.contentView = [SNPageBarContent.alloc initWithFrame:CGRectMake(0, 0, kViewSize.width, kPageContentHeight)];
[pageBar addItem:item2];

/// [pageBar relayout]; //可省略

更多

有其他方法吗? 请查看这里

许可协议

SNPageView 在 MIT 许可协议下可用。有关更多信息,请参阅 LICENSE 文件。