hibou 主界面自己侧滑的定义
要打滑View参加UIPanGestureRecognizer
#pragma mark 手势识别器回调方法
- (void)dragView:(UIPanGestureRecognizer *)gesture{
switch (gesture.state) {
case
UIGestureRecognizerStateBegan:
[self
startDrag];
break;
case
UIGestureRecognizerStateEnded:
[self
endDrag];
break;
default:
[self
Draging:gesture];
break;
}
}
#pragma mark 開始拖动,记录下開始的x值
- (void)startDrag{
CGRect frame = _mainView.frame;
_lastDownX = frame.origin.x;
}
#pragma mark 正在拖动,让View跟着动
- (void)Draging:(UIPanGestureRecognizer *)gesture{
CGFloat maxX = [UIScreen
mainScreen].bounds.size.width *
kSlideRatio;
CGPoint transform = [gesture
translationInView:_mainView];
CGRect frame = _mainView.frame;
frame.origin.x =
_lastDownX + transform.x;
if (frame.origin.x <
) { //不能够移动到屏幕左边去
frame.origin.x =
;
}else
if(frame.origin.x > maxX){
frame.origin.x = maxX;
//限制移动的最右边
}
_mainView.frame = frame;
//
设置界面scale动画
CGFloat tx = frame.origin.x;
) {
tx =
;
}
CGFloat txScale = tx /
_settingsViewController.view.frame.size.width;
//
让imageview缩放
double scale =
kDefaultSettingScale -
kDefaultSettingScale);
){
scale =
;
}
CGAffineTransform cgTransform =
CGAffineTransformMakeScale(scale, scale);
[_settingsViewController
setAnimationScale:cgTransform];
}
#pragma mark 拖动结束,推断要往哪边滚动
- (void)endDrag{
int maxX = [self
getSettingRight];
int currentX = _mainView.frame.origin.x;
if (currentX < maxX *
0.5) { //没到一半,回到左边
currentX =
;
}else{
//回到右边
currentX = maxX;
}
CGRect frame = _mainView.frame;
frame.origin.x = currentX;
[self
scrollMainViewToFrame:frame withDuration:0.25];
}
版权声明:本文博主原创文章,博客,未经同意不得转载。
hibou 主界面自己侧滑的定义的更多相关文章
- 使用DotNetBar制作漂亮的WinFrom界面,自定义AgileEAS.NET SOA平台WinClient主界面
一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...
- delphi 一个线程和主界面的交互的演示代码
求一个线程和主界面的交互的演示代码求一个线程和主界面的交互的演示代码.线程和主界面处于两个Unit.线程中的user中不能引用主窗口.我只是想学习一下,线程和主界面交互的方法.去网上查了好几天资料,能 ...
- Android应用主界面底部菜单实现
介绍 现在绝大多数主流的应用主界面,都会包含一个底部菜单,就拿腾讯的QQ与微信来说,看起来是这样的 <---我是底部菜单 原理 在很久以前,可以通过TabActivity实现相关功能,自从Fr ...
- Android小项目之十一 应用程序的主界面
------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...
- Android学习系列(23)--App主界面实现
在上篇文章<Android学习系列(22)--App主界面比较>中我们浅略的分析了几个主界面布局,选了一个最大众化的经典布局.今天我们就这个经典布局,用代码具体的实现它. 1.预览图先看下 ...
- Android ActionBar应用实战,高仿微信主界面的设计
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/26365683 经过前面两篇文章的学习,我想大家对ActionBar都已经有一个相对 ...
- 使用Vitamio打造自己的Android万能播放器(3)——本地播放(主界面、播放列表)
前言 打造一款完整可用的Android播放器有许多功能和细节需要完成,也涉及到各种丰富的知识和内容,本章将结合Fragment.ViewPager来搭建播放器的主界面,并实现本地播放基本功能.系列文章 ...
- “MVC+Nhibernate+Jquery-EasyUI”信息发布系统 第二篇(数据库结构、登录窗口、以及主界面)
“MVC+Nhibernate+Jquery-EasyUI”信息发布系统 第二篇(数据库结构.登录窗口.以及主界面) 一.在上一篇文章中,主要说的就是把主框架搭建起来,并且Nhibernate能达到增 ...
- Android开发(25)--framebyframe帧动画并实现启动界面到主界面的跳转
Drawable animation可以加载Drawable资源实现帧动画.AnimationDrawable是实现Drawable animations的基本类.推荐用XML文件的方法实现Drawa ...
随机推荐
- C:\Program Files (x86)\Common Files\microsoft shared\TextTemplating\11.0
Generating Files with the TextTransform Utility \Program Files\Common Files\Microsoft Shared\TextTem ...
- Can you solve this equation?(二分)
Can you solve this equation? Time Limit : 2000/1000ms (Java/Other) Memory Limit : 32768/32768K (Ja ...
- easy ui 如何单个引用其中某个插件?
记录一下这个方法,前端时间一直在纠结这个问题,后来听一些前辈讲解后才恍然大悟,要单独引用某个插件,我们需要重视的是:easyloaer.js ,easy ui的下载包中也有easyloader的dem ...
- hdu 3954 Level up(线段树)
题目链接:hdu 3954 Level up 题目大意:N个英雄,M个等级,初始等级为1,给定每一个等级须要的经验值,Q次操作,操作分两种,W l r x:表示l~r之间的英雄每一个人杀了x个怪物:Q ...
- UBUNTU系统常用基本命令
1.系统基本信息查询查看内核#uname -a 查看Ubuntu版本#cat /etc/issue 查看内核加载的模块#lsmod 查看PCI设备#lspci 查看USB设备#lsusb 查看网卡状态 ...
- Javascript进阶篇——(数组)笔记整理
什么是数组数组是一个值的集合,每个值都有一个索引号,从0开始,每个索引都有一个相应的值,根据需要添加更多数值. <script type="text/javascript"& ...
- 小项目--反eclass
前言—— 最近会把前一段时间闲的无聊写的一些很小的项目写一些博客,用来练练手. 引子—— 最近班里有个很讨厌的软件,,,,教育局规定每个学校要上传多媒体使用记录,所以学校就给班里每台电脑上装了一个比较 ...
- CDZSC_2015寒假新人(1)——基础 a
Description Contest time again! How excited it is to see balloons floating around. But to tell you a ...
- Direct2D 几何计算和几何变幻
D2D不仅可以绘制,还可以对多个几何图形对象进行空间运算.这功能应该在GIS界比较吃香. 这些计算包括: 合并几何对象,可以设置求交还是求并,CombineWithGeometry 边界,加宽边界,查 ...
- [ofbiz]entitymode中类型的对照关系
在实体数据结构的时候,习惯于数据库的设计模式,int,varchar等各种类型,但是在entitymode中不是直接使用数据库的类型模式,而是自己定义了一套数据类型(type). 如何找到两者之间的对 ...