{
UIScrollView *scrollView;
UIPageControl *pageCtrl;
}
//初始化表视图
UITableView *tableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain];
tableView.delegate = self;
tableView.dataSource = self;
[self.view addSubview:tableView];
//初始化数据源
self.data = [UIFont familyNames];
//创建滑动视图
scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 375, 200)];
//分页显示
scrollView.pagingEnabled = YES;
//设置内容尺寸
scrollView.contentSize = CGSizeMake(375 * 5, 200);
//设置水平滚动条隐藏
scrollView.showsHorizontalScrollIndicator = NO;
//设置代理
scrollView.delegate = self;
//创建子视图
for (int i = 0; i < 5; i++) {
NSString *imgName = [NSString stringWithFormat:@"image%d.jpg", i + 1];
UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:imgName]];
imgView.frame = CGRectMake(375 * i, 0, 375, 200);
[scrollView addSubview:imgView];
}
//创建分页控件
pageCtrl = [[UIPageControl alloc] initWithFrame:CGRectMake(0, 200 - 20, 375, 20)];
[pageCtrl addTarget:self action:@selector(pageCtrlAction:) forControlEvents:UIControlEventValueChanged];
//设置总页数
pageCtrl.numberOfPages = 5;
//设置当前选中的页数
pageCtrl.currentPage = 0;
//创建头视图
UIView *tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, 200)];
//当自身frame改变时,也等比例地修改子视图的属性
tableHeaderView.autoresizesSubviews = NO;
[tableHeaderView addSubview:scrollView];
[tableHeaderView addSubview:pageCtrl];
tableView.tableHeaderView = tableHeaderView;
}
#pragma mark -UIPageControl
- (void)pageCtrlAction:(UIPageControl *)mypageCtrl
{
//拿到当前界面的下标
NSInteger currentPage = mypageCtrl.currentPage;
//NSLog(@"%ld", currentPage);
//scrollView动画设置图片
[scrollView setContentOffset:CGPointMake(375 * currentPage, 0) animated:YES];
}
#pragma mark -UITableViewDataSource
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return self.data.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *identifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];
}
cell.textLabel.text = self.data[indexPath.row];
return cell;
}
#pragma mark -UIScrollViewDelegate
- (void)scrollViewDidScroll:(UIScrollView *)myscrollView
{
//判断当前滑动的是头视图中的滑动视图
// if (myscrollView == scrollView) {
// int page = myscrollView.contentOffset.x / 375;
// pageCtrl.currentPage = page;
// }
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)myscrollView
{
int page = myscrollView.contentOffset.x / 375;
pageCtrl.currentPage = page;
}
//效果图如下