[TwistedFate]UIScrollView UIPageControl

原创 2015年11月18日 19:42:01

UIScrollView

初始化及添加背景色

UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:[UIScreen mainScreen].bounds];
scrollView.backgroundColor = [UIColor cyanColor];

设置显示内容区域

scrollView.contentSize = CGSizeMake(kScreenWidth, kScreenHeight * 6);

关闭滚动条

scrollView.showsHorizontalScrollIndicator = NO;
scrollView.showsVerticalScrollIndicator = NO;

整页滑动

scrollView.pagingEnabled = YES;

设置回弹效果(单独设置没有效果,三个一起设置)

scrollView.bounces = YES;
scrollView.alwaysBounceHorizontal = YES;
scrollView.alwaysBounceVertical = YES;

设置缩放比例

scrollView.minimumZoomScale = 0.5;
scrollView.maximumZoomScale = 2;

设置代理

scrollView.delegate = self;

显示视图及释放内存

[self.view addSubview:scrollView];
[scrollView release];

添加图片

UIImageView *imageV = [[UIImageView alloc] initWithFrame:[UIScreen mainScreen].bounds];
imageV.image = [UIImage imageNamed:@"1.jpg"];
imageV.tag  = 100;
// 注意:把图片加到scrollView上
[scrollView addSubView:imageV];
[imageV release];

添加还原缩放的按钮

UIButton *button = [UIButton buttonWithType:(UIButtonTypeCustom)];button.frame = CGRectMake(100, 100, 100, 100);
button.backgroundColor = [UIColor  greenColor];
[button addTarget:self action:@selector(click:) forControlEvents:(UIControlEventTouchUpInside)];
[self.view addSubview:button];

实现button的方法

- (void)click:(UIButton *)button{
    UIScrollView *scroll = (UIScrollView *)[self.view viewWithTag:101];
    // 重置一下缩放比例
    [scroll setZoomScale:1 animated:YES];
    // 改变一下偏移量
    [scroll setContentOffset:CGPointMake(0, kScreenHeight)animated: YES];
}

UIScrollViewDelegate的方法实现

- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
    //NSLog(@"滑动时一直触发");
}

- (void)scrollViewDidZoom:(UIScrollView *)scrollView{
    // 缩放时按中心点来缩放
        UIImageView *imageView = (UIImageView *)[self.view viewWithTag:100];
    // 改变image的中心点 始终等于self.view的中心点
    imageView.center = self.view.center;
    NSLog(@"缩放时 一直触发");
}

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
    // 指定要缩放的视图 并且是scrollView的子视图
//    UIImageView *imageView = (UIImageView *)[self.view viewWithTag:100];
//    return imageView;
    return scrollView.subviews[0];
}

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{
    NSLog(@"将要开始拖动");
}

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
    NSLog(@"已经结束拖拽");
}

- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{

    NSLog(@"将要开始减速");
}

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
    // 最终图片停止在这个方法 ******************
    NSLog(@"已经结束减速");
}

- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale{
    NSLog(@"缩放已经结束触发");
}

- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView{
    // 改变偏移量的动画结束后触发
    NSLog(@"改变偏移量的动画结束后触发");
}

UIPageControl

初始化

UIPageControl *pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(0, kScreenHeight - 50, kScreenWidth, 50)];
pageControl.backgroundColor = [UIColor blackColor];

设置共多少页

pageControl.numberOfPages = 5;

设置当前显示第几页

pageControl.currentPage = 2;

设置选中和未选中的颜色

pageControl.pageIndicatorTintColor = [UIColor redColor];
pageControl.currentPageIndicatorTintColor = [UIColor yellowColor];

添加单击响应事件

[pageControl addTarget:self action:@selector(page:) forControlEvents:(UIControlEventTouchUpInside)];

添加显示视图

// 不能加在图片上 否则会滑走
[self.view addSubview:pageControl];
[pageControl release];

实现单机响应事件方法

- (void)page:(UIPageControl *)page{
    NSLog(@"%ld",page.currentPage);   
}

UIPageControl的详细使用 (与uiscrollview配合使用)

转载自:http://www.189works.com/article-61093-1.html 先自我总结下: 关于uiscrollview 与 pagecontrol结合使用: 1....
  • chenyong05314
  • chenyong05314
  • 2012年11月08日 11:52
  • 7760

UIPageController和UIScrollView结合使用

UIPageController   UIPageController控件主要用来实现视图分页,通常会和UIScrollView配合使用  创建       UIPageContro...
  • u012222212
  • u012222212
  • 2016年07月03日 19:57
  • 701

iPhone相册,(UIScrollView,UIPageControl的综合应用)捏合放大缩小, 左右滑动切换图片

// // PhotoView.h // Homework_iPhonePhoto // // Created by lanouhn on 14-8-29. // Copyright (c) ...
  • vaercly
  • vaercly
  • 2014年08月31日 22:04
  • 1586

Swift之UIScrollView和UIPageControl

let width:CGFloat = 375 let height:CGFloat = 668 class ViewController: UIViewController,UIScrollView...
  • HeyLjie
  • HeyLjie
  • 2015年08月27日 14:24
  • 1004

使用UIScrollView和UIPageControl做一个可以用手势来切换图片的效果

利用UIScrollView的滚动效果来实现,先上图: 实现过程是:在viewController里先加入UIScrollView和UIPageControl: -(voi...
  • baidu_nod
  • baidu_nod
  • 2014年06月25日 22:28
  • 1131

[iOS]通过UIScrollView和UIPageControl实现滑动切换的效果

UIPageControl是自带的控件,可以查看官方文档,下载官方示例学习。
  • wxg694175346
  • wxg694175346
  • 2014年07月15日 12:04
  • 7723

爬爬爬之路:UI(七) UIScrollView,UIScrollViewDelegate UIPageControl 方法总结

UIScrollViewUIScrollView 擅长处理滑动界面和缩放界面两大功能常用属性一. 滚动相关 @property (nonatomic) CGPoint contentOffset; ...
  • ljcdsg
  • ljcdsg
  • 2015年11月18日 22:50
  • 675

UIScrollView、UIPageControl

//创建滚动视图 scroll=[[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)]; scroll.pagi...
  • lun119
  • lun119
  • 2013年08月22日 18:03
  • 499

UIScrollView && UIPageControl

UIScrollView 继承于UIView创建:每个view尺寸UIScrollView *scrollView = [UIScrollView alloc] initWithFrame[CGRec...
  • Jessica_Blog
  • Jessica_Blog
  • 2015年09月23日 16:19
  • 125

UIScrollView/UIPageControl/

9.7——学习第7天 今天学习了UIScrollView和UIPageControl UIScrollView是滚动视图 最关键的三个点 1.初始化UIScrollView的frame ...
  • u012265444
  • u012265444
  • 2015年09月12日 10:21
  • 504
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[TwistedFate]UIScrollView UIPageControl
举报原因:
原因补充:

(最多只允许输入30个字)