ios开发ui篇—实现一个简单的手势解锁应用

ios开发ui篇—实现一个简单的手势解锁应用

ID:27560622

大小:102.32 KB

页数:17页

时间:2018-12-03

ios开发ui篇—实现一个简单的手势解锁应用_第1页
ios开发ui篇—实现一个简单的手势解锁应用_第2页
ios开发ui篇—实现一个简单的手势解锁应用_第3页
ios开发ui篇—实现一个简单的手势解锁应用_第4页
ios开发ui篇—实现一个简单的手势解锁应用_第5页
资源描述:

《ios开发ui篇—实现一个简单的手势解锁应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、iOS幵发UI篇一实现一个简单的手势解锁应用一、实现效果实现效果图:二、手势解锁应用分析1.监听手指在view上的移动,首先肯定需要自定义一个view,重写touchbegan,touchmove等方法,当手指移动到圈上时,让其变亮。可以通过button按钮来实现。2.界面搭建背景图片(给控制器的view添加一个imageview,设置属性背景图片)九个按钮(把九个按钮作为一个整体,使用一个大的view来管理这些小的view,这壁小的view就是9个button。如果使用手动拖控件的方式实现页面搭建,那么9个按钮需要拖拽九次,且需要对齐,不灵活,这里选择使用以【九宫格】代码的方式

2、创建9个按钮)。3.新建一个类,对自定义的view进行管理,这个view是从storyboard创建出来的,会调用aweakframe方法和initwithcoder方法,后者先调用因此把创建按钮的代码写在这个方法中。部分代码:1//界面搭建2-(id)initWithFrame:(CGRect)frame3{4self=[superinitWithFrame:frame];5if(self){6[selfsetup];7}8returnself:9}10ll-(id)initWithCoder:(NSCoder氺)aDecoder12{13if(self=[superinitW

3、ithCoder:aDecoder]){14[selfsetup]:15}16returnself;17}18//在界面上创建9个按钮19-(void)setup20{21//1.创建9个按钮22for(inti=0:ilt;9;i++){23UIButton*btn=[UIButtonbuttonWithType:UIButtonTypeCustom]:24//2.设置按钮的状态背景25[btnsetBackgroundlmage:[UllmageimageNamed:〃gesture_node_normal〃]forState:UlControlStateNormal]:26

4、[btnsetBackgroundlmage:[UllmageimageNamed:z/gesture_nodehighlighted"]forState:UlControlStateSelected];27//3.把按钮添加到视图中28[selfaddSubview:btn];29//4.禁止按钮的点击事件30btn.userlnteractionEnabled=N0;31}32}注意点:在initwithcoder:方法中一定要先对父类进行初始化。说明:当视图从xib或storyboard中创建出来会调用initwithcoder:方法,如果视图是通过代码创建出来的,那么就会

5、调用initwithFrame:方法。提示:使用代码创建视图,即便是调用init方法而不是直接调用nitwithFrame:方法,init方法内部也会调用nitwithFrame:方法。建议:如果重写view的话,建议同时重写这两个方法。调用,【selfsetup】三、实现基本连线步骤:1.创建按钮2.设置按钮的背景图片(默认状态__选中状态)3.添加按钮到view提示:不要在构造方法中设置按钮的frame,因为这个方法是在构造方法中调用的,而在构造方法中获取不了frame。4.在layoutSubviews中设置按钮的frame。(提示:一定要先调用父类的layoutSubvi

6、ews)4.1取出对应位置的按钮4.2设置每个按钮的frame5.监听手指的移动。分析程序,应该监听手指的移动,而不是按钮的点击,当手指移动到按钮的范围内时,让按钮变亮。5.1重写touchesbegan…方法(1)获取按下的点(2)判断触摸的位置是否在按钮的范围内(使用超级for循环)提示:一个判断点是否在指定范围内的方法CGRectContainsPoint(,);5.2重亲斤touchesmoved…方法说明:当手指移动到按钮上的时候,按钮变亮,因此需要重写touchesmoved方法。(1)获取触摸的点(2)判断触摸的点是否在按钮的范围内。提示:可以把上面两个功能分别进行

7、封装,在使用的时候直接调用即可。封装代码:1//对功能点进行封装2-(CGPoint)getCurrentPoint:(NSSet*)touches3{4UITouch氺touch=[touchesanyObject]:5CGPointpoint=[touchlocationlnView:touch,view]:6returnpoint;7}89-(UIButton*)getCurrentBtnWithPoint:(CGPoint)point10{llfor(UIButton*b

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。