tabview 增加手势判断UIPanGestureRecognizer
来源:互联网 发布:ubuntu 查看配置 编辑:程序博客网 时间:2024/06/05 11:58
- (
void
)awakeFromNib{
UIPanGestureRecognizer* recognizer;
// handleSwipeFrom 是偵測到手势,所要呼叫的方法
recognizer = [[UIPanGestureRecognizer alloc] initWithTarget:
self
action:
@selector
(handlePanFrom:)];
// 不同的 Recognizer 有不同的实体变数
// 例如 SwipeGesture 可以指定方向
// 而 TapGesture 則可以指定次數
//recognizer.direction = UISwipeGestureRecognizerDirectionLeft | UISwipeGestureRecognizerDirectionRight;
recognizer.delegate =
self
;
[_tableView addGestureRecognizer:recognizer];
[recognizer release];
}
- (
BOOL
)gestureRecognizerShouldBegin:(UIPanGestureRecognizer *)gestureRecognizer
{
CGPoint translation = [gestureRecognizer translationInView:[[UIApplication sharedApplication] keyWindow]];
// Check for horizontal gesture
if
(sqrt(translation.x * translation.x) / sqrt(translation.y * translation.y) > 1)
{
return
YES
;
}
return
NO
;
}
- (
void
)handlePanFrom:(UIPanGestureRecognizer*)recognizer {
if
(recognizer.state == UIGestureRecognizerStateBegan) {
;
}
else
if
(recognizer.state == UIGestureRecognizerStateChanged) {
CGFloat xOffSet = [recognizer translationInView:[[UIApplication sharedApplication] keyWindow]].x;
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
if
(xOffSet < 0) {
[appDelegate makeRightViewVisible];
}
else
if
(xOffSet > 0) {
[appDelegate makeLeftViewVisible];
}
self
.navigationController.view.frame = CGRectMake(xOffSet,
self
.navigationController.view.frame.origin.y,
self
.navigationController.view.frame.size.width,
self
.navigationController.view.frame.size.height);
}
else
if
(recognizer.state == UIGestureRecognizerStateEnded) {
if
(
self
.navigationController.view.frame.origin.x < -kTriggerOffSet)
[
self
moveToLeftSide];
// animate to right side
else
if
(
self
.navigationController.view.frame.origin.x > kTriggerOffSet)
[
self
moveToRightSide];
// reset
else
[
self
restoreViewLocation];
}
}
- tabview 增加手势判断UIPanGestureRecognizer
- 利用UIPanGestureRecognizer 判断手势滑动方向
- 利用UIPanGestureRecognizer 判断手势滑动方向
- UIPanGestureRecognizer手势的互相传递
- 【iOS】UIPanGestureRecognizer拖拽手势
- 24.手势识别之UIPanGestureRecognizer
- iOS中手势之拖动手势UIPanGestureRecognizer
- tabView的手势冲突问题解决方法
- UIScrollView子控件加UIPanGestureRecognizer拖动手势
- 手势移除控制器(UIPanGestureRecognizer + UINavigationController)
- IOS手势使用及总结:UIPanGestureRecognizer 拖拽
- 手势识别器(UIGestureRecognizer)- UIPanGestureRecognizer(拖拽)
- 利用UIPanGestureRecognizer手势全屏侧滑返回
- tabview
- UIPanGestureRecognizer上下左右滑动方向判断算法
- UIPanGestureRecognizer上下左右滑动方向判断算法
- UIPanGestureRecognizer上下左右滑动方向判断算法
- UIPanGestureRecognizer类——为view添加手势
- EGL语言教程之一:变量与数据类型
- 模拟移动机器人控制(二)
- sax解释xml
- DataGridView通过鼠标右键选中行
- 2012年3月27日23:28:05
- tabview 增加手势判断UIPanGestureRecognizer
- Brackets-学习DP2
- 成功的路上会布满荆棘
- mysql 版本查看:
- 设计模式:单例中的 饿汉式 与懒汉式
- 内存优化的两个类:SoftReference 和 WeakReference
- tomcat无法成功打开,因为设置catalina_home的时候在最后加了“;”符号
- /dev/mem /dev/kmem
- Exchange 的各个版本的版本号码