标签: gesture

UINavigationController交互式流行手势不起作用?

所以我在iOS 7应用程序中构建了一个导航控制器.titleView是可见的,以及它自己的后退按钮和导航栏.出于某种原因,交互式弹出手势(从左边缘轻扫)不起作用.什么都没发生.当我记录手势时,它不是零.为了启用此功能,我有什么特别的事吗?什么可能导致它不起作用?

gesture uinavigationcontroller ios ios7

26
推荐指数
8
解决办法
2万
查看次数

如何识别UIScrollView中的滑动手势

我正在尝试识别左/右滑动手势UIScrollView.我试图创建UISwipeGestureRecognizers并将它们与滚动视图相关联.它的工作原理很少见.大部分时间我都没有被召唤.为什么?

如何可靠地左/右滑动工作?我可以使用手势识别器,还是我必须以某种方式处理它touchesBegan/Ended

谢谢

iphone uiscrollview gesture swipe

25
推荐指数
2
解决办法
4万
查看次数

iOS 7中手势识别器的问题

UIView在屏幕上添加了几个对象(例如5个),一个在另一个内部.这一点,例如,view5.superview = view4,view4.superview = view3,view3.superview=view2,view2.superview = view1.对于所有这些UIView我设置了uitapgesturerecognizer; 对于view1-4我只是在回调中执行NSLog(@"tap%@",self),而对于view5,我设置以下内容:从层次结构中删除view4,然后将相同的对象view4'放在层次结构的同一位置.该对象还包含为其UITapGestureRecognizer设置的view5' (实际上,我用类似的一个替换标记的一部分).

然后我开始点击view5.有些时候view5继续捕捉它的点击,一切都没问题,但随后的点击随机数(每次这个数字不同),其中一个view1-4对象开始捕捉这个点击,虽然我们仍然点击view5.整个问题具有随机特征 - 有时它发生在第10次发射,有时发生在第二次.有时错误的物体会在第一次敲击时开始捕捉水龙头.当一切都出错时,我也永远不知道哪个物体会碰到水龙头.用于视图的帧(n + 1)被设置为例如帧视图(n)的一半,而用于view1的帧 - 例如(0,0 320,460).

上面描述的ui对象的所有操作都是在主线程中进行的,而我所讲述的所有内容都完全适用于iOS 4.3 - 6.1,并且有更复杂的例子.但是iOS7让它变成了一种随意的地狱.

更新: 我已经创建了一个示例项目,以简化调试过程.无需添加/删除子视图操作.屏幕上只有4个视图,点按应用程序会记录所点击的视图.因此,您需要点击最小的视图(4).如果你在日志中看到"点按4点击4点击4 ..." - 这就是一切正常,再次停止并再次运行,再次停止并再次运行等情况.在某些运行中(可能在10之后) +成功运行)你不会在第一行看到"点击4",你会看到"点击1"或"点击2"或"点击3",它将继续如此 - 这些都是坏情况.

示例项目可以从这里下载:http://tech.octopod.com/test/BuggySample.zip(归档中只有33 Kb).

更新2

我们已经向Apple发布了一个错误,我会在这里发布一些反馈意见.但是,任何好的解决方法都将非常感谢!

更新3

由Yuvrajsinh提供的解决方案真正致力于示例项目.不幸的是,它仍然没有帮助解决最初出现的主项目中出现的问题.现在的主要原因是,如果没有自我手势的任何视图都放在可点击内容上,则其下的随机视图元素开始捕捉交互(而不是具有交互手势集的顶部交互.你有任何想法如何解决它?更新的样本可以从这里下载:http://tech.octopod.com/test/BuggySample2.zip

gesture uigesturerecognizer ios uitapgesturerecognizer ios7

25
推荐指数
3
解决办法
2万
查看次数

在iOS7中边缘滑动时,与UIView同步为键盘设置动画

我希望在iOS7中获得类似于Messages app(在大多数短信应用程序中也很常见)的行为,在对话视图中,从屏幕左边缘向右滑动将表现得像UINavigationController中的后退按钮.

我已设法实现此行为,但是,如果键盘在显示视图中打开,当我开始向后滑动时,键盘会卡住,并且在我移动手指时不会使视图向右移动.我想将键盘和呈现视图设置为一个单元,而不是将键盘放在其他视图的顶部,并且它们在它后面动画,这就是我现在得到的(参见第二个屏幕截图):

(更新:请注意,在主视图动画完成后,键盘最终会消失;我关注的是滑动过程中键盘的位置,以及当您持续触摸设备的一半时,不在与实际视图同步.第二个屏幕截图阐明了这种期望的行为.我也想知道它为什么不是默认行为.)

只需在Xcode 5.0.2中创建一个新的主 - 细节iPhone应用程序,并在StoryBoard中的详细视图(最好是上半部分的某个地方)添加一个文本字段,运行应用程序,添加项目,就可以轻松复制问题. ,点击它以转到详细视图并单击您添加的文本字段.从设备左侧边缘滑动,同时将手指放在上面,您将看到问题.

期望的行为:

期望的行为

目前的行为:

键盘撕裂

iphone keyboard gesture ios ios7

25
推荐指数
2
解决办法
5451
查看次数

如何在React native中创建拖放操作?

假设我有两个视图,A和B.我希望能够在触摸视图A时触发'dragAndDropStart'事件,然后启用从A到B的拖放...在整个过程中向用户显示反馈(即显示在视图A和用户手指之间出现的一条线).在下降(释放拖动手势)时,我想触发另一个'dragAndDropEnd'事件,这次是在视图B上.

在此输入图像描述

touchStart和touchEnd处理程序太有限了,因为它们似乎不允许将手势从一个View切换到另一个View.它们似乎也没有启用中间"拖动"状态.

关于使用手势处理程序的React原生文档有点神秘,我还没有看到任何证明它们使用的示例.

有任何想法吗?

drag-and-drop gesture ios react-native

25
推荐指数
1
解决办法
7215
查看次数

四个屏幕边的CustomDrawerLayout发出Fling手势和检测

我正在尝试创建和改进现有的SlidingDrawers项目,这些项目可以适用于屏幕的所有四个边{LEFT,RIGHT,TOP,BOTTOM}.有一些库,但它们都有局限性,复杂性和错误.其中一个比较常见的是umano的AndroidSlidingUpPanel,但是,我不喜欢这个库,因为你只需要包含两个子布局,并且还需要注意主要内容的具体安排.其他库类似,或更复杂,或有bug.

我接近完成我的SlidingDrawers版本,我专注于BOTTOM引力.我需要一些帮助.单击抽屉将打开并关闭它.您也可以用手指滑动抽屉.但是,如果你扔掉抽屉,整个视图将会移动到比它应该更低或更低的位置.

我该如何解决这个问题?据我所知,我的数学是正确的.我传给动画师的翻译价值应该是正确的.以下是我完成的工作.请查看此项目https://github.com/drxeno02/CustomDrawerLayout.git.先感谢您.

对于那些想要查看有问题的代码看起来的片段的人来说,这就是我目前正在做的手势.

@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
    switch (event.getAction()) {
        case MotionEvent.ACTION_DOWN:
            mActivePointerId = MotionEventCompat.getPointerId(event, 0);
            switch (mStickTo) {
                case GRAVITY_BOTTOM:
                case GRAVITY_TOP:
                    mInitialCoordinate = event.getY();
                    break;
                case GRAVITY_LEFT:
                case GRAVITY_RIGHT:
                    mInitialCoordinate = event.getX();
                    break;
            }
            break;

        case MotionEvent.ACTION_MOVE:

            float coordinate = 0;
            switch (mStickTo) {
                case GRAVITY_BOTTOM:
                case GRAVITY_TOP:
                    coordinate = event.getY();

                    break;
                case GRAVITY_LEFT:
                case GRAVITY_RIGHT:
                    coordinate = event.getX();
                    break;
            }

            final int diff = (int) Math.abs(coordinate - mInitialCoordinate);

            // confirm that difference …
Run Code Online (Sandbox Code Playgroud)

android gesture slidingdrawer drawerlayout

24
推荐指数
1
解决办法
304
查看次数

在Cocoa Touch中获取滑动方向

我试图抓住一个手势,但它不起作用.这是我的代码:

UISwipeGestureRecognizer *recognizer;
    recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
    [recognizer setDirection:(UISwipeGestureRecognizerDirectionRight | UISwipeGestureRecognizerDirectionLeft)];
    [[self view] addGestureRecognizer:recognizer];
    [recognizer release]; 
Run Code Online (Sandbox Code Playgroud)

-(void)handleSwipeFrom:(UISwipeGestureRecognizer *)recognizer {
    NSLog(@"get gesture");
    if (recognizer.direction == UISwipeGestureRecognizerDirectionRight) {
        NSLog(@"get gesture right");
    }
    if (recognizer.direction == UISwipeGestureRecognizerDirectionLeft) {
        NSLog(@"get gesture Left");
    }
}
Run Code Online (Sandbox Code Playgroud)

它总是得到一个手势,但不认识方向.我也试过if(recognizer.direction){NSLog(@"get gesture");},它也有效,所以我不明白我犯了哪个错误.

谢谢你的帮助.

xcode cocoa-touch objective-c gesture uigesturerecognizer

22
推荐指数
2
解决办法
1万
查看次数

对列表视图的每一行进行滑动检测

我有一张位于SD卡中的视频列表.此时,我只需要帮助为列表视图中的每一行创建手势或滑动检测.感谢stackoverflow上的这个问题在网格布局上进行Fling手势检测,我在listview上实现了手势.现在,它可以轻松检测用户何时向右或向左滑动.但这个手势适用于整个列表视图.我只想知道如何为各行实现此滑动检测.例如,应用程序现在可以打印"右扫动","向左滑动".我只是想让它像"在第1行右侧滑动","在第3行左侧滑动"等等.我希望我的问题很明确.

期待一些有用的回复.谢谢

android listview gesture swipe

21
推荐指数
1
解决办法
2万
查看次数

反应本机滑动手势在Android上不起作用?

我正在与 Mosh 一起学习 React Native 课程(https://codewithmosh.com/)。我正在使用世博会。我对本机反应非常陌生,并不真正知道我在做什么,但我知道我的代码应该可以工作。我根据他的代码仔细检查了我的代码,甚至将我的项目复制到朋友的 mac 上,看看代码是否可以在 ios 上运行(因为 mosh 正在 ios 模拟器上运行他的代码)。在ios模拟器上,我的代码运行完美,但在android上,没有任何反应。

这是我实现可滑动本身的地方:

import React from 'react';
import { StyleSheet, View, Image, TouchableHighlight } from 'react-native';
import Swipeable from 'react-native-gesture-handler/Swipeable';


import AppText from './AppText';
import colors from '../config/colors';

function ListItem({title, subtitle, image, onPress, renderRightActions}) {
    return (
        <Swipeable renderRightActions={renderRightActions} >
            <TouchableHighlight underlayColor={colors.light} onPress={onPress} >  
                <View style={styles.container} >
                    <Image style={styles.image} source={image} />
                    <View> 
                        <AppText style={styles.title} >{title}</AppText>
                        <AppText style={styles.subTitle}>{subtitle}</AppText>
                    </View>
                </View>
            </TouchableHighlight>
        </Swipeable>
    );
}
Run Code Online (Sandbox Code Playgroud)

然后我将其导出到另一个屏幕:

function MessagesScreen(props) …
Run Code Online (Sandbox Code Playgroud)

javascript android gesture react-native expo

21
推荐指数
2
解决办法
7895
查看次数

检测摇动手势IOS Swift

我正在开发一个带有手势系统的应用程序,基本上如果我将iPhone转向左,我的应用程序将执行一项功能,如果我将iPhone转为右,其他功能,与其他人的手势.

我不知道如何使用它,我正在尝试搜索谷歌但不工作,结果只是触摸手势而不是动作手势.

有人有一个教程来帮助我吗?

iphone xcode gesture ios swift

20
推荐指数
5
解决办法
2万
查看次数