// 创建UIScrollView
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 20, self.view.frame.size.width, 600)];
scrollView.backgroundColor = [UIColor yellowColor];
scrollView.tag = 1001;
[self.view addSubview:scrollView];
[scrollView release];
// 设置可以偏移的范围
scrollView.contentSize = CGSizeMake(scrollView.frame.size.width *6 , 0);
// 整页偏移
// 默认为 - NO
scrollView.pagingEnabled = YES;
// 关闭水平滚动条
scrollView.showsHorizontalScrollIndicator = NO;
// 关闭回弹效果
scrollView.bounces = NO;
// 设置起始偏移量
// scrollView.contentOffset = CGPointMake(200, 0);
// 设置代理人
scrollView.delegate = self;
// [self.view addSubview:scrollView];
// scrollView.zoomScale = 2.0;
// 设置视图放大和缩小允许的倍数
// scrollView.maximumZoomScale = 2;
// scrollView.minimumZoomScale = 0.5;
//
******************************************
//pragma mark - UIScrollViewDelegate
//一些监听及代理方法
//获取缩放视图
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
return [scrollView.subviews firstObject];
}
//滚动(产生偏移)就会触发
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
NSLog(@"%f", scrollView.contentOffset.x);
}
//将要开始拖拽
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView {
NSLog(@"拖拽");
}
//将要结束拖拽
- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset {
NSLog(@"将要结束拖拽");
}
//结束拖拽
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {
NSLog(@"结束拖拽");
}
//已经结束减速
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
//获取pageControl
UIPageControl *pageControl = [self.view viewWithTag:1002];
// 通过偏移量设置第几个点
pageControl.currentPage = scrollView.contentOffset.x/scrollView.frame.size.width;
// 从滚动的ScrollView找到其他子视图
for (UIScrollView *little in scrollView.subviews) {
// 判断对象是否属于一个类型
if ([little isKindOfClass:[UIScrollView class]]) {
//将视图比例还原
little.zoomScale = 1.0;
}
}
}
************************************************
//设置下面点的数量和位置
UIPageControl *pageC = [[UIPageControl alloc] initWithFrame:CGRectMake(0, 500, self.view.frame.size.width, 20)];
pageC.backgroundColor = [UIColor redColor];
pageC.tag = 1002;
// 设置点的数量
pageC.numberOfPages = 5;
// 添加事件
[pageC addTarget:self action:@selector(pageControlAction:) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:pageC];
//触发点击事件
- (void)pageControlAction:(UIPageControl *)pageC {
// 通过tag值获取scrollview
UIScrollView *scrollView = [self.view viewWithTag:1001];
// 通过第几个点设置scrollView的偏移量
// 是指具有动画效果
[scrollView setContentOffset:CGPointMake(scrollView.frame.size.width*pageC.currentPage, 0) animated:YES];
UI - UIScrollView
最新推荐文章于 2018-04-12 17:00:05 发布
本文详细介绍了如何使用UIScrollView创建可滚动视图,并设置了滚动属性如关闭滚动条、禁止回弹等。同时实现了UIScrollViewDelegate方法来监听滚动事件,通过UIPageControl指示当前滚动页面。
83

被折叠的 条评论
为什么被折叠?



