手势

加速度计

喜夏-厌秋 提交于 2019-12-04 23:18:14
加速度计 正如其名字所暗示的那样,BBC micro:bit加速度计:位测量加速度。加速度可以测量 +2g到-2g之间的加速度。 Micro:bit沿着三个轴测量运动: X - 从左向右倾斜。 Y - 向前和向后倾斜。 Z - 上下移动。 基本功能 每个轴的测量值为正数或负数,以毫欧为单位表示数值。当读数为0时,沿着该特定轴是“水平”。1024毫微克是重力加速度。 你可以一次访问一个加速度测量值,或者一次获取所有三个值并将其存储在一个列表中。现在只需使用下面的代码: from microbit import * while True: x = accelerometer.get_x() y = accelerometer.get_y() z = accelerometer.get_z() print("x, y, z:", x, y, z) sleep(500) 上传并打开串口监视器。握住microbit LED最上面。您应该看到X和Y加速度接近零,Z加速度接近-1024。这告诉你重力相对于微位向下。翻转电路板,使LED离地面最近。Z值在+1024毫克时应为正值。如果你强烈地摇动你的micro:bit,你会看到加速度达到±2048毫克。那是因为这个加速度计被设置为测量最大值±2048毫吉-g:真实的数字可能会比这更高。 如果你想知道手机如何知道在屏幕上显示图像

UIScrollView 常见属性 手势缩放 分页效果

久未见 提交于 2019-12-04 22:02:02
一、 基本使用 作用 UIScrollView可以用于显示多于一个屏幕的内容,超出屏幕范围的内容可以通过滑动进行查看 常见属性  CGSize contentSize :设置UIScrollView的滚动范围  CGPoint contentOffset :UIScrollView当前滚动的位置  UIEdgeInsets contentInset :这个属性可以在四周增加滚动范围 其他属性  BOOL bounces 是否有弹簧效果  BOOL scrollEnabled 是否能滚动  BOOL showsHorizontalScrollIndicator 是否显示水平方向的滚动条  BOOL showsVerticalScrollIndicator 是否显示垂直方向的滚动条  UIScrollViewIndicatorStyle indicatorStyle 设定滚动条的样式  BOOL dragging 是否正在被拖拽  BOOL tracking 当touch后还没有拖动的时候值是YES,否则NO  BOOL decelerating 是否正在减速  BOOL zooming 是否正在缩放 二、 手势缩放 设置UIScrollView的id delegate代理对象 设置minimumZoomScale :缩小的最小比例

ionic4默认不能使用手势事件,解决方法

我们两清 提交于 2019-12-03 14:06:50
参考: https://www.jianshu.com/p/53f64ea1de4f 首先需要安装hammerjs ,在项目目录下执行: npm install hammerjs --save 在项目的src/main.ts 中引入hammerjs: import { enableProdMode } from '@angular/core'; import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { AppModule } from './app/app.module'; import { environment } from './environments/environment'; import 'hammerjs'; if (environment.production) { enableProdMode(); } platformBrowserDynamic().bootstrapModule(AppModule) .catch(err => console.log(err)); 来源: https://www.cnblogs.com/johnjackson/p/11798354.html

获取手势点击哪个控件 UIGestureRecognizer

匿名 (未验证) 提交于 2019-12-03 00:40:02
给图片增加UIGestureRecognizer 手势的时候 ,因为图片是动态增加的,一开始不知道如何确定自己点在哪个控件上。 后来各种试,终于明白了。。。 代码如下 UIGestureRecognizer* singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(imageTouch:)]; // 创建手势 [myImage addGestureRecognizer:singleTap];// 在图片上增加手势 myImage.tag = 100;// 给图片增加一个唯一标识 - (void)imageTouch:(UITapGestureRecognizer * )sender { NSLog(@"%@", sender.self.view );// 这个view 就是点击的那个控件 } 原文:https://www.cnblogs.com/lrr0618/p/9283655.html

MUI手势事件归总

匿名 (未验证) 提交于 2019-12-03 00:32:02
根据使用频率,mui默认会监听部分手势事件,如点击、滑动事件;为了开发出更高性能的moble App,mui支持用户根据实际业务需求,通过mui.init方法中的gestureConfig参数,配置具体需要监听的手势事件,。 mui.init({ gestureConfig:{ tap: true, //默认为true doubletap: true, //默认为false longtap: true, //默认为false swipe: true, //默认为true drag: true, //默认为true hold:false,//默认为false,不监听 release:false//默认为false,不监听 } }); window.addEventListener('dragstart',function(event){//拖动时触发事件 if($(".searchText").is(":visible")){ $(".searchText").hide("1000"); $(".gray").attr("src", "../img/45.png"); $(".gray").css({ "width": '7px', "margin": '0 12px' }); } }); 文章来源: MUI手势事件归总

工程实践用例建模Use Case Modeling

烂漫一生 提交于 2019-12-02 23:54:53
用例建模就是通过对软件需求的调研,从具体的功能性需求中抽象出用例模型的工作过程。参与者和用例由对功能性需求的分析来确定,用例图是参与者和用例的可视化表示。用例图中的四种关系:   1.关联:建立参与者与用例通信的渠道,当然关联可以是双向的,可以是单向的。箭头的方向表示消息的传递方向。   2.依赖:一个用例受到另一个用例的影响。   3.包含:基USE CASE图本用例的行为包含了另一个用例的行为   4.扩展:扩展用例是基本用例的一个扩展   5.泛化:存在于Actor和Use case之间,例如数学老师是老师的泛化,从特殊指向一般。 用例建模的作用: 用例模型是一种标准的语言,是开发人员之间交流和沟通的媒介,可以精确地定义软件需求,出现歧义的可能性很小,这可以保证用户和开发人员对需求理解的一致性。用例模型在整个开发过程中都扮演着非常重要的角色,它可以驱动软件的分析和设计逐步细化。最后,测试过程中那些关注软件功能的测试用例,往往也是根据用例模型来确定的。 用例步骤: 确定系统边界 确定参与者 找出所有的用例 确定每个用例的级别 撰写用例的文字描述 画出以整个系统为对象的顺序图 我的工程实践的目的是手势识别,模拟键盘鼠标操作等,下图展示了项目的部分用例图。只是手势交互业务建模,不是对系统建模。                                           

【luogu P3609 [USACO17JAN]Hoof, Paper, Scissor蹄子剪刀布】 题解

匿名 (未验证) 提交于 2019-12-02 23:42:01
题目链接: https://www.luogu.org/problemnew/show/P3609 还真是个 \(DP\) 。 题目所描述的状态十分明显,第 \(i\) 轮,变换 \(j\) 次,当前FJ手势 ( \(x,y,z\) ) 那我们不妨直接令 \(f[i][j][k]\) 表示当前第 \(i\) 轮,变换 \(j\) 次,在FJ手势为 \(k\) 时的胜场为多少。(这里懒得考虑啥手势能胜FJ,故直接用FJ的手势为参考。) 那么在转移时,我们考虑的就是两种情况: 要么我换个手势赢FJ的当前手势,要么我不换手势。 如果变换到 \(x\) 手势赢FJ: \(f[i][j][x] = max(f[i-1][j-1][y], f[i-1][j-1][z]) + num[i][x]\) 其中,num[i][x]代表我当前是否能赢FJ的x手势,1为能赢,0为不能赢。 对于变换到y,z手势同理。 \(f[i][j][x] = f[i-1][j][x] + num[i][x]\) 所以总转移方程为: \(f[i][j][x] = max(max(f[i-1][j-1][y], f[i-1][j-1][z]) + num[i][x], f[i-1][j][x] + num[i][x])\) 接下来就是O(NK)的转移,最后在第n轮中变换0~k次的三个不同手势中选出max即为答案。 code

工作中使用addEventListener监听scroll、touchstart、touchmove、touchend遇到的问题

夙愿已清 提交于 2019-12-02 22:37:54
这两天在工作中遇到了许多bug,有一些没来得及总结。今天总结一下使用addEventListener监听事件出现的问题 项目是用vue来做的,首先在mounted函数里面使用:window.addEventListener('scroll', this.pageScroll); 然后就是pageScroll()方法的一顿操作,最常用到的就是获取页面滚动距离 let top=document.documentElement.scrollTop||document.body.scrollTop; 然后在各种操作之下就出现了: Unable to preventDefault inside passive event listener due to target being treated as passive. See < 这样的报错。 上网找了解决方法,大部分的解决方案都是以下两种: window.addEventListener('touchmove', func, { passive: false }) * { touch-action:none; } 第一种方法passive在移动端滑动处理默认值为true,浏览器忽略preventDefault() 第二种方法touch-action是css中的一个属性,用于设置触摸屏用户如何操纵元素的区域(例如浏览器内置的缩放功能)

React native 禁止手势触摸 pointerEvents

不羁岁月 提交于 2019-12-02 19:13:42
碰到一个需求是做个轮播图带自动播放的,UED那边给轮播的底部加了阴影渐变,如下红色区域。 这样会导致一个问题,手触摸在红色区域会被这层View挡住,导致不能手动滑动切换。 原先采取过的方法是在对应的触摸事件 执行return false ,但是这个局限于轮播图得是红色区域的父组件。不然触摸无法冒泡上去。 发现有个好用的属性,以前从来没用过。pointerEvents 看看官网的介绍: 用于控制当前视图是否可以作为触控事件的目标。 auto:视图可以作为触控事件的目标。 none:视图不能作为触控事件的目标。 box-none:视图自身不能作为触控事件的目标,但其子视图可以 <View pointerEvents = 'none'></View> 这样就能完美的解决冲突了,直接不用管啥层级问题,冒泡捕获啥的都忽略。 /*--> */ /*--> */ 来源: https://www.cnblogs.com/hjj2ldq/p/11759834.html

IOS禁止手势侧滑返回上一个页面

我只是一个虾纸丫 提交于 2019-12-02 12:50:04
想着要实现页面出现之后不进行操作无法返回的效果,没想到隐藏了返回按钮之后发现用手势还是可以返回,到网上找了很久,发现大致的套路都是修改 navigationController 的 interactivePopGestureRecognizer.enabled 的属性为 NO ,有的说在跳转前的页面设置,有的说在跳转后的页面设置,当是我试了一下发现都没什么用。 虽然还有监听手势操作的方案,但是感觉实现起来有点麻烦,最后在网上找到了一个方案,试了一下把所有的手势禁用,终于解决了问题。 实现代码如下 - ( void ) popGestureChange : ( UIViewController * ) vc enable : ( BOOL ) enable { if ( [ vc . navigationController respondsToSelector : @ selector ( interactivePopGestureRecognizer ) ] ) { //遍历所有的手势 for ( UIGestureRecognizer * popGesture in vc . navigationController . interactivePopGestureRecognizer . view . gestureRecognizers ) { popGesture .