UI控件之一:UIScrollView

基本的UI控件是iOS入门必备,即使是老司机也可以温故而知新。

1、UIScrollView的常见属性

- (void)viewDidLoad
{
    [super viewDidLoad];
    scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
    scrollView.backgroundColor = [UIColor redColor];
    // 是否支持滑动最顶端
    scrollView.scrollsToTop = NO;
    scrollView.delegate = self;
    // 设置内容大小
    scrollView.contentSize = CGSizeMake(320, 460*10);
    // 是否反弹
    scrollView.bounces = NO;
    // 是否分页
    scrollView.pagingEnabled = YES;
    // 是否滚动
    scrollView.scrollEnabled = NO;
    scrollView.showsHorizontalScrollIndicator = NO;
    // 设置indicator风格
    scrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite;
    // 设置内容的边缘和Indicators边缘
    scrollView.contentInset = UIEdgeInsetsMake(0, 50, 50, 0);
    scrollView.scrollIndicatorInsets = UIEdgeInsetsMake(0, 50, 0, 0);
    // 提示用户,Indicators flash
    [scrollView flashScrollIndicators];
    // 是否同时运动,lock
    scrollView.directionalLockEnabled = YES;
    [self.view addSubview:scrollView];
    
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 200, 320, 40)];
    label.backgroundColor = [UIColor yellowColor];
    label.text = @"学习scrolleview";
    [scrollView addSubview:label];
}

2、UIScrollView的代理方法

#pragma mark UIScrollViewDelegate  
//只要滚动了就会触发  
- (void)scrollViewDidScroll:(UIScrollView *)scrollView;     
{  
    NSLog(@" scrollViewDidScroll");  
    NSLog(@"ContentOffset  x is  %f,yis %f",scrollView.contentOffset.x,scrollView.contentOffset.y);  
}  
//开始拖拽视图  
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;     
{  
   NSLog(@"scrollViewWillBeginDragging");  
}  
//完成拖拽  
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate;   
{  
   NSLog(@"scrollViewDidEndDragging");  
}  
//将开始降速时  
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView;     
{  
   NSLog(@"scrollViewWillBeginDecelerating");  
}  

//减速停止了时执行,手触摸时执行 
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView;     
{  
   NSLog(@"scrollViewDidEndDecelerating");  
}  
//滚动动画停止时执行,代码改变时出发,也就是setContentOffset改变时  
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView;  
{  
   NSLog(@"scrollViewDidEndScrollingAnimation");  
}  
//设置放大缩小的视图,要是uiscrollview的subview  
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView;     
{  
   NSLog(@"viewForZoomingInScrollView");  
   return viewA;  
}  
//完成放大缩小时调用  
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale;   
{  
   viewA.frame=CGRectMake(50,0,100,400);  
   NSLog(@"scale between minimum and maximum. called after any 'bounce' animations");  
}
//如果你不是完全滚动到滚轴视图的顶部,你可以轻点状态栏,那个可视的滚轴视图会一直滚动到顶部,那是默认行为,你可以通过该方法返回NO来关闭它  
- (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView;     
{  
   NSLog(@"scrollViewShouldScrollToTop");  
   return YES;  
}  
- (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView;       
{  
   NSLog(@"scrollViewDidScrollToTop");  
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,303评论 4 61
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,786评论 25 709
  • 其一 小乔当年挽袖衫,盈盈不语橹桥船。 林间双蝶纷飞舞,水上游鸥举翔欢。 春意浓,君未还,巫山云雨几丘峦? 对溪抚...
    d03e056874dc阅读 576评论 0 0
  • 为什么讨厌时间 因为它流逝的好迅速 完全不给你反应的时间 仅留你叹息已经到这里了 可是也正是时间 教你学会辨识这个...
    摇摇米阅读 98评论 0 0
  • ——我在蜜蜂打卡坚持每天收纳10分钟,快来吧,我等你!——我正跟着花花老师做21天打英语怪兽的学习课程,期待能养成...
    爱君如初阅读 992评论 0 3