关于UIScrollerView的基本用法和代理

- (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];

   }

#pragma mark -- delegate

   // 返回一个放大或者缩小的视图

   - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView { }

  // 开始放大或者缩小 - (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView: (UIView *)view { }

  // 缩放结束时 - (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale { }

  // 视图已经放大或缩小 - (void)scrollViewDidZoom:(UIScrollView *)scrollView { NSLog(@"scrollViewDidScrollToTop"); } */

  // 是否支持滑动至顶部 - (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView { return YES; }

  // 滑动到顶部时调用该方法 - (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView { NSLog(@"scrollViewDidScrollToTop"); }

    // scrollView 已经滑动 - (void)scrollViewDidScroll:(UIScrollView *)scrollView { NSLog(@"scrollViewDidScroll"); }

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

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

  // scrollView 开始减速(以下两个方法注意与以上两个方法加以区别)

  - (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView { NSLog(@"scrollViewWillBeginDecelerating"); }

  // scrollview 减速停止 - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView { NSLog(@"scrollViewDidEndDecelerating"); }

时间: 2025-01-18 08:19:05

关于UIScrollerView的基本用法和代理的相关文章

UIScrollView (一)UIScrollView基本用法和代理方法

- (void)viewDidLoad {     [super viewDidLoad];          scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];     scrollView.backgroundColor = [UIColor redColor];     // 是否支持滑动最顶端 //    scrollView.scrollsToTop = NO;     scroll

iOS 设计模式

Ios 设计模式,你可能听说过,但是你真正知道这是什么意思么?大部分的开发者大概都同意设计模式很重要,但是关于这一部分却没有很多的文章去介绍它,我们开发者很多时候写代码的时候也并不重视设计模式. 设计模式是在软件设计上去解决普通问题的可重用的方法.他们是是帮助你让所写的代码更加容易理解和提高可重用性的模板.它们还可以帮你创建松散耦合的代码是你能不费很大功夫就可以改变或者替代你的代码中的一部分. 如果你对设计模式感到生疏,那么我有个好消息告诉你!首先,你已经用了很多ios设计模式多亏了Cocoa

mybatis系列笔记(2)---mapper代理方法

mapper代理方法 在我们在写MVC设计的时候,都会写dao层和daoimp实现层,但假如我们使用mapper代理的方法,我们就可以不用先daoimp实现类 当然这得需要遵守一些相应的规则: (1)Usermapper.java接口必须和Usermapper.xml名称相同,且要在同一目录下: (2)mapper.xml中namespace等于mapper接口的地址 (3)Usermapper.java接口中国的方法名和Usermapper.xml中statement的id一致 <!-- 7综

JDK动态代理

一.基本概念 1.什么是代理? 在阐述JDK动态代理之前,我们很有必要先来弄明白代理的概念.代理这个词本身并不是计算机专用术语,它是生活中一个常用的概念.这里引用维基百科上的一句话对代理进行定义: A proxy is an agent or substitute authorized to act for another person or a document which authorizes the agent so to act. 意思是说:代理指的是一个代理人(或替代品),它被授权代表

Web服务之Nginx反向代理与负载均衡

一.代理 正向代理: 正向代理是一个位于客户端和目标服务器之间的服务器,为了从目标服务器取得内容,客户端向代理发送一个请求并指定目标服务器,然后代理向目标服务器转交请求并将获得的内容返回给客户端.客户端必须要进行一些特别的设置才能使用正向代理. 作用: 访问无法访问的服务器(翻墙,懂得) 加速访问目标服务器(链路加速) Cache缓存(访问加速) 实现客户端访问授权 隐藏访问者 反向代理: 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转

代理(Proxy)和反射(Reflection)

前面的话 ES5和ES6致力于为开发者提供JS已有却不可调用的功能.例如在ES5出现以前,JS环境中的对象包含许多不可枚举和不可写的属性,但开发者不能定义自己的不可枚举或不可写属性,于是ES5引入了Object.defineProperty()方法来支持开发者去做JS引擎早就可以实现的事情.ES6添加了一些内建对象,赋予开发者更多访问JS引擎的能力.代理(Proxy)是一种可以拦截并改变底层JS引擎操作的包装器,在新语言中通过它暴露内部运作的对象,从而让开发者可以创建内建的对象.本文将详细介绍代

深度剖析JDK动态代理机制

摘要 相比于静态代理,动态代理避免了开发人员编写各个繁锁的静态代理类,只需简单地指定一组接口及目标类对象就能动态的获得代理对象. 代理模式 使用代理模式必须要让代理类和目标类实现相同的接口,客户端通过代理类来调用目标方法,代理类会将所有的方法调用分派到目标对象上反射执行,还可以在分派过程中添加"前置通知"和后置处理(如在调用目标方法前校验权限,在调用完目标方法后打印日志等)等功能. 使用动态代理的五大步骤 1.通过实现InvocationHandler接口来自定义自己的Invocati

代理和协议区别及应用

协议与代理 一.理解协议与代理 协议: 协议是一个方法签名的列表,在其中可以定义若干个方法.根据配置,遵守该协议的类会去实现这个协议中规定的若干个方法. 代理: 代理是一个概念,很难用一个名词去定义(如我们可以说协议其实就是一个方法列表).它更像是一种关系,我要做某一个事情,但我自己不想去做这件事,我委托其他人帮我去做这件事.这个时候,这位其他人就是我的代理. 二.协议的使用 在定义协议时,可以通过@required与@optional来配置遵守这个协议必须去实现的方法和可以选择的方法.譬如:

分布式存储系统MogileFS(三)Nginx反向代理MogileFS

一.MogileFS简要说明 1.相关概念介绍 MogileFS是一个开源的分布式文件存储系统,MogileFS适用于存储海量小文件的工作场景,由LiveJournal旗下的Danga Interactive公司开发,该团队开发了包括 Memcached.MogileFS.Perlbal 等多个知名的开源项目. tracker节点:借助数据库保存各节点文件的元数据信息保存每个域中所有键的存储位置分布,方便检索定位数据位置的同时监控各节点,告诉客户端存储区位置并指挥storage节点复制数据副本,