【ios控件】UIScrollView 事件说明

  1 //
  2 //  UIDemoViewController.m
  3 //  06-1UIScrollDemo
  4 //
  5 //  Created by k on 14-9-4.
  6 //  Copyright (c) 2014年 com.akleee.www. All rights reserved.
  7 //
  8
  9 #import "UIDemoViewController.h"
 10
 11 @interface UIDemoViewController ()<UIScrollViewDelegate>
 12 @property (weak, nonatomic) IBOutlet UIScrollView *scrollViw;
 13 @property (weak, nonatomic) IBOutlet UIImageView *img;
 14
 15 - (IBAction)changeOffset:(id)sender;
 16
 17
 18 @end
 19
 20 @implementation UIDemoViewController
 21
 22 - (void)viewDidLoad
 23 {
 24     [super viewDidLoad];
 25     // Do any additional setup after loading the view, typically from a nib.
 26     //NSLog(@"%@",NSStringFromCGRect(_img.frame));
 27
 28     //设置可移动区域
 29     _scrollViw.contentSize=_img.bounds.size;
 30
 31     //可视窗口位置
 32     int moveTop=100,moveLeft=100;
 33
 34     _scrollViw.contentOffset=CGPointMake(moveTop, moveLeft);
 35
 36     //可视窗口大小
 37    //int windowW=100,windowH=400,windowX=10,windowY=20;
 38    // _scrollViw.frame=CGRectMake(windowX, windowY, windowW, windowH);
 39
 40     //外边距
 41     int paddingT=10,paddingL=10,paddingR=20,paddingB=20;
 42
 43     _scrollViw.contentInset=UIEdgeInsetsMake(paddingT, paddingL, paddingB, paddingR);
 44
 45     //水平滚动条
 46 //    _scrollViw.showsHorizontalScrollIndicator=NO;
 47 //
 48 //    //垂直滚动条
 49 //    _scrollViw.showsVerticalScrollIndicator=NO;
 50
 51     _scrollViw.delegate=self;
 52
 53     _scrollViw.maximumZoomScale=2;
 54
 55     _scrollViw.minimumZoomScale=0.1;
 56
 57 }
 58
 59
 60 - (void)didReceiveMemoryWarning
 61 {
 62     [super didReceiveMemoryWarning];
 63     // Dispose of any resources that can be recreated.
 64 }
 65 -(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{
 66     //开始拖拽
 67     //NSLog(@"scrollViewWillBeginDragging %@",NSStringFromCGPoint(scrollView.contentOffset));
 68
 69 }
 70 -(void)scrollViewDidScroll:(UIScrollView *)scrollView   {
 71     //正在拖拽
 72     //NSLog(@"scrollViewDidScroll %@",NSStringFromCGPoint(scrollView.contentOffset));
 73 }
 74
 75
 76 -(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
 77     //拖拽结束
 78     //NSLog(@"scrollViewDidEndDragging %@",NSStringFromCGPoint(scrollView.contentOffset));
 79 }
 80
 81 -(void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{
 82     //拖动后开始滑行
 83     //NSLog(@"scrollViewWillBeginDecelerating %@",NSStringFromCGPoint(scrollView.contentOffset));
 84 }
 85 -(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
 86
 87     //拖动后滑行结束
 88     //NSLog(@"scrollViewDidEndDecelerating %@",NSStringFromCGPoint(scrollView.contentOffset));
 89
 90 }
 91 -(void)scrollViewDidScrollToTop:(UIScrollView *)scrollView{
 92     //滑动到下方内容 点击系统顶部导航 自动定位到顶部时触发
 93     //NSLog(@"scrollViewDidScrollToTop %@",NSStringFromCGPoint(scrollView.contentOffset));
 94
 95 }
 96
 97
 98 -(BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView{
 99     //滑动到下方内容 点击系统顶部导航
100     NSLog(@"scrollViewShouldScrollToTop %@",NSStringFromCGPoint(scrollView.contentOffset));
101     //返回是否 自动定位到顶部
102     return NO;
103 }
104
105 -(void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView{
106     // 当触发[_scrollViw setContentOffset:CGPointMake(200, 200) animated:YES];后  触发此事件
107     //如果animated:NO的话  不会触发此事件
108     //NSLog(@"scrollViewDidEndScrollingAnimation %@",NSStringFromCGPoint(scrollView.contentOffset));
109 }
110
111 -(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
112     //设置需要缩放的UIView
113    // NSLog(@"viewForZoomingInScrollView %@",NSStringFromCGPoint(scrollView.contentOffset));
114
115
116     return _img;
117
118 }
119
120 -(void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view{
121     //开始缩放
122     NSLog(@"scrollViewWillBeginZooming");
123
124 }
125
126 -(void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale
127 {
128     //结束缩放
129     NSLog(@"scrollViewDidEndZooming");
130
131
132 }
133
134
135
136
137
138 - (IBAction)changeOffset:(id)sender {
139     NSLog(@"change offset");
140     [_scrollViw setContentOffset:CGPointMake(200, 200) animated:NO];
141     //_scrollViw .contentOffset=CGPointMake(200, 200);
142 }
143 @end
时间: 2024-10-01 00:53:26

【ios控件】UIScrollView 事件说明的相关文章

设计一个 iOS 控件

代码的等级:可编译.可运行.可测试.可读.可维护.可复用 前言 一个控件从外在特征来说,主要是封装这几点: 交互方式 显示样式 数据使用 对外在特征的封装,能让我们在多种环境下达到 PM 对产品的要求,并且提到代码复用率,使维护工作保持在一个相对较小的范围内:而一个好的控件除了有对外一致的体验之外,还有其内在特征: 灵活性 低耦合 易拓展 易维护 通常特征之间需要做一些取舍,比如灵活性与耦合度,有时候接口越多越能适应各种环境,但是接口越少对外产生的依赖就越少,维护起来也更容易.通常一些前期看起来

iOS控件之UIResponder类

iOS控件之UIResponder类 在iOS中UIResponder类是专门用来响应用户的操作处理各种事件的,我们知道UIApplication.UIView.UIViewController这几个类是直接继承自UIResponder,UIWindow是直接继承自UIView的一个特殊的View,所以这些类都可以响应事件.当然我们自定义的继承自UIView的View以及自定义的继承自UIViewController的控制器都可以响应事件.iOS里面通常将这些能响应事件的对象称之为响应者. iO

从零开始学ios开发(六):IOS控件(3),Segmented Control、Switch

这次的学习还是基于上一个项目继续进行(你也可以新建一个项目)学习Segmented Control和Switch. Segmented Control Switch Segmented Control和Switch的主要区别在于Segmented Control可以有多个值进行选择,而Switch只有2个值. 1)添加Segmented Control从object library中拖一个Segmented Control到iphone界面上然后调整Segmented Control位置以及它的

#这个测试程序有助于我们理解wxPython的界面设计,基本的控件和事件调用都有

#!/bin/env python # -*- coding: utf-8 -*- ################################################################################# #这个测试程序有助于我们理解wxPython的界面设计,基本的控件和事件调用都有 ################################################################################# imp

关于UITableView选中效果以及自定义cell上的控件响应事件

tableView默认的点击效果是:点击cell:A,出现点击效果,点另一个cell:B的时候,A的点击效果才会消失. 1.对于tableView,比较常用的效果,是点击表格行,出现效果,点击完毕,效果消失 那么就要在代码里做一些设置.代码如下: -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { [tableView deselectRowAtIndexPath

UIControl IOS控件编程 及UITextField的讲解

第一部分 UIKit提供了一组控件:UISwitch开关.UIButton按钮.UISegmentedControl分段控件.UISlider滑块.UITextField文本字段控件.UIPageControl分页控件. 控件是对UIView派生类的实用增强及补充,并可以直接附着于导航栏.表格单元,甚至更大的对象. 这些控件的基类均是UIControl,而UIControl派生自UIView类,所以每个控件都有很多视图的特性,包括附着于其他视图的能力.所有控件都拥有一套共同的属性和方法. 所以学

ios学习笔记图片+图片解释(c语言 oc语言 ios控件 ios小项目 ios小功能 swift都有而且笔记完整喔)

下面是目录其中ios文件夹包括了大部分ios控件的介绍和演示,swift的时完整版,可以学习完swift(这个看的是swift刚出来一周的视频截图,可能有点赶,但是完整),c语言和oc语言的也可以完整的学习完所需知识,,其他文件夹的内容如其名说描述一样 没张图片都有文字说明,可以需要该功能的时候搜索一下然后打开图片就可以学习到 网盘下载地址:需要的话给留言我再传上去 http://www.cnblogs.com/langtianya原创 ios学习笔记图片+图片解释(c语言 oc语言 ios控件

c#给用户控件添加事件处理程序

1.首先在usercontrol后台添加如下代码: public partial class MyControl: UserControl { //添加事件代理       public event EventHandler AX; //在需要响应的事件中添加 private void MyControl_MouseClick(object sender, MouseEventArgs e)        {            if (AX != null)            {    

从零开始学ios开发(五):IOS控件(2),Slider

下面继续学习ios的其他控件,这次会使用到的控件有Slider,当然还有一些之前已经使用过的控件Label. 这次我们不新建一个project了,当然如果你愿意重新创建一个新的项目也完全可以,我们还是使用上一篇的项目Control Fun. 上一篇中,我们最后的成果如下图所示我们添加了一个ImageView,2个Label和2个TextField,现在我们继续在此基础上添加其他的控件. 1)添加Slider和LabelSlider类似于一个滑块,左右(或者上下)滑动来改变数值,在object l

在cocos2d-js实现自动绑定cocostudioUI控件与事件(三)

一.为cc.Node类型节点注册触摸事件 演示常规方式为cc.Node类型注册触摸事件 ctor: function() { ... this._label = new ... cc.eventManager.addListener({ event: cc.EventListener.TOUCH_ONE_BY_ONE, swallowTouches: true, onTouchBegan: this.onTouchBegan, onTouchMoved: this.onTouchMoved, o