创建可移动的视图

1.首先建立一个根视图控制器(引入头文件)

原代码:

 // 设置根视图控制器
    MainViewController *mainVC=[[MainViewController alloc] init];
    _window.rootViewController =mainVC;
    [mainVC release];

2.在视图控制器中建立一个MyView的 UIView的子类(引入头文件)

原代码:

///创建一个MyView;
    MyView *myView=[[MyView alloc] initWithFrame:CGRectMake(100, 200, 150, 40)];
    myView.backgroundColor =[UIColor redColor];
    [self.view addSubview:myView];
    [myView release];

3.在MyView中创建一个方法

从上面的代码可以看出:

touches相当一个集合 点击一下 相当于集合中只有一个元素

4.在触摸开始方法中获取初始位置:

(1).用 touches.count 可以测出touches中元素的个数

 NSLog(@"%ld",touches.count);

(2).用 anyObject可以去到这个对象

UITouch *touch =[touches anyObject];

(3).通过触摸对象获取相应的视图的当前的位置

self.startPoint =[touch locationInView:self];   

5.在移动方法中可以得到新的点的坐标

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
    // 通过移动,找到变化,然后让MyView也进行相应的调整,从而实现试图随手移动的效果
    // 获取触摸的对象
    UITouch *touch =[touches anyObject];
    // 获取移动之后的坐标
    CGPoint movePoint =[touch locationInView:self];
    // 找坐标的变化
    CGFloat dx =movePoint.x -self.startPoint.x;
    CGFloat dy =movePoint.y -self.startPoint.y;

    // 设置视图的移动变化
    self.center =CGPointMake(self.center.x +dx, self.center.y +dy);
  }  

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-10 23:45:53

创建可移动的视图的相关文章

在Oracle中如何创建带参数的视图?

本文介绍了oracle数据库中创建带参数视图的例子,有需要的朋友参考下. 在Oracle中如何创建带参数的视图? 在Oracle数据库中,视图不像存储过程和函数一样,可以定义输入参数,但可以变个方式,使用程序包来实现. 首先,定义程序包: 复制代码 代码示例: /* 按个人需要定义,我定义三个参数 ,因我项目程序需要,所以三个参数都是number ,当然可定义其它类型但切记,第二个create 的参数类型等需以第一个create一致,否则程序包创建失败*/create or replace pa

SharePoint 创建站点地图树视图及格式枚举截图

SharePoint 创建站点地图树视图及格式枚举截图 SharePoint首页隐藏掉左侧导航以后,如果要以树视图呈现网站地图也很简单. 只需要复制v4.master,粘贴出v4_copy(1).master,签出,编辑.直接修改v4.master母版页是不明智的. 在PlaceHolderLeftNavBar中插入树视图.点击小三角,在选择数据源下拉列表新建数据源. 选中站点地图,指定ID为SiteMapDataSource,点击确定. F12在浏览器中预览. 回到SPD,点击树视图小三角,点

SAP 创建物料主数据分类视图特性

1.CL01创建物料分类 2.去CT04中去创建特性值 创建完成之后保存, 3.创建物料的分类视图,选择相应的特性值

django学习-安装、创建应用、编写视图

快速安装指南 py -3 -m pip install django >>> import django >>> django.get_version() '2.2.6' 查看版本也可以这样: C:\Users\Lenovo>py -m django --version 2.2.6 编写第一个Django应用-投票应用程序 投票应用程序由两部分组成: 一个让人们查看和投票的公共站点 一个让你能添加.修改和删除投票的管理站点 创建项目django-admin sta

如何创建可扩展表视图中的iOS 学习和拓展优化(有待更新)

首先介绍老外的文章:<How To Create an Expandable Table View in iOS>这是老外用Swift实现 的,对应的老外github项目源码:https://github.com/appcoda/expandable-table-view 小编经过学习了老外的Expandable Table View然后用Objective-C实现了同样的效果,并且进行了很好的升级和封装. 小编的github项目源码:https://github.com/HeYang1234

UI第九讲.UITableView表视图创建,表视图的重用机制,表视图的相关配置方法

一.UITableView表视图创建 1>.基本属性: UITableView继承自UIScrollView,所以可以滚动          表视图的每一条数据都是显示在UITableViewCell对象中          表视图可以分区显示数据,每个分区称为一个section,每一行称为row,编号都是从0始 2>.重要用法: 最重要的是两个代理方法 <UITableViewDelegate,UITableViewDataSource>(其中必须实现的是 numberOfRow

Android应用程序窗口(Activity)的视图对象(View)的创建过程分析

从前文可知道,每一个Activity组件都有一个关联的Window对象,用来描述一个应用程序窗口.每一个应用程序窗口内部又包含有一个View对象,用来描述应用程序窗口的视图.应用程序窗口视图是真正用来实现UI内容和布局的,也就是说,每一个Activity组件的UI内容和布局都是通过与其所关联的一个Window对象的内部的一个View对象来实现的.在本文中,我们就详细分析应用程序窗口视图的创建过程. 在前面Android应用程序窗口(Activity)实现框架简要介绍和学习计划一文中提到,应用程序

ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库

在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类.指定数据库连接字符串以及创建一个数据库.最后,我们还将添加视图和控制器来管理和显式产品和分类数据. 注意:如果你想按照本章的代码编写示例,你必须完成第一章或者直接从www.apress.com下载第一章的源代码. 2.1 添加模型类 Entity Framework的代码优先模式允许我们从模型类创

SCOM 2012知识分享-6:创建视图

适应平台:System Center 2012 RTM/SP1 ------------------------------------------------------------------------------------------------------------- System Center 2012 – Operations Manager 视图显示满足特定条件的信息.在选择视图时,会向 Operations Manager 数据库发送一个查询,查询的结果显示在结果窗格中.