触摸可以指定self来获取其自己的坐标系中的触摸位置,但我如何从另一个获取它?说另一个UIview的坐标系?
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[UIView beginAnimations:@"box" context:nil];
[UIView setAnimationDuration:1];
[UIView setAnimationBeginsFromCurrentState:YES];
UITouch *touch = [touches anyObject];
box.center = [touch locationInView:self];
[UIView commitAnimations];
}
Run Code Online (Sandbox Code Playgroud)
我可以用不同的UIview名称来看待"自我"吗?
我有一个ImageView,当用户按下图像视图将消息显示为警报时,我想要它.我应该使用什么方法?你能举个例子吗?
提前致谢..
我正在通过startActivityForResult()从gallery加载图像并在onActivity()中加载图像.我不能为该图像实现touchlistener吗?供参考见下文.
protected void onActivityResult(int requestCode, int resultCode,
Intent data) {
if (requestCode == SELECT_PICTURE) {
......
......
Bitmap bitmapPreview = BitmapFactory.decodeFile(fileSrc); //load preview image
setimage.setImageBitmap(BitmapPreview);
setimage.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
Toast.makeText(getApplicationContext(), "Image touced!", Toast.LENGTH_SHORT).show();
return true;
}
});
Run Code Online (Sandbox Code Playgroud) 我正在开发一个WPF业务应用程序,需要在触摸屏信息亭上使用,以及传统的鼠标和键盘设置.
我正在寻找任何可用的触控友好控件库,和/或标准WPF控件的任何样式或主题,以提高触摸的可用性,但我并没有真正找到.
商业选择很好.(事实上,类似Telerik的RadControls具有触控友好的造型和功能将是理想的.他们的MetroTouch皮肤看起来不错,但它仅适用于ASP.NET AJAX).
我看过Surface 2,但我并没有真正开发Surface应用程序,而且这个应用程序可能必须支持XP和Vista,我认为这对于Surface来说是不行的.也就是说,如果有人认为Surface是要走的路,我会对学习原因感兴趣.
理想情况下,我更倾向于推荐人们实际上用于触摸友好应用程序的解决方案.
谢谢!
我有一个用UIButton点击打开的UIView.我想禁用除此特定视图及其子视图之外的所有其他超级视图的用户交互,我该怎么做?只是为了使这个视图成为唯一能够响应用户触摸的视图.
谢谢!
我有以下代码
<div>
<img src="http://placehold.it/350x150"/>
<div class="link-cont"><a href="#">click here to see more info</a></div>
</div>
div {
width: 350px;
font-size:12px;
position: relative;
}
div img{
padding:0 10px;
}
.link-cont {
background: red;
position: absolute;
bottom: 0;
width: 370px;
height: 210px;
opacity: 0;
transition: all 0.4s;
z-index: -1
}
div:hover .link-cont {
opacity: 1;
bottom:-40px;
}
.link-cont a{
opacity: 0;
}
div:hover .link-cont a{
position: relative;
opacity: 1;
bottom:-175px;
left:10px;
background:#fff;
color:red;
text-decoration:none;
padding:0 10px;
}
Run Code Online (Sandbox Code Playgroud)
链接被包裹在div上,该div出现在悬停时。我如何使此触摸设备友好。
jsfidd-> http://jsfiddle.net/yeyene/Nnd7w/17/
我有内容显示悬停在页面上的另一个元素.在触摸屏上,这需要点击一下.
我知道iOS和Android将悬停操作转换为标签操作的链接,但我认为我需要另一种方法,因为我的悬停区域跨越多个块元素,而不仅仅是一个链接.
这就是我所拥有的:
<div>
<h3>Headline</h3>
<div>
<p><img src="http://placehold.it/300x200&text=image" /></p>
<p>I tillegg til sprellende fersk sjømat og sunne ferdigretter, kan vi tilby helnorske produkter fra spennede småprodusenter. <a href="pagename.html">Les mer >></a></p>
</div></div>
Run Code Online (Sandbox Code Playgroud)
和
div {width:300px; position:relative;}
p {padding-top:10px; margin:0;}
p+p {background:#fff;
display:block; height:100%; width:95%;
position:absolute; left:0; top:0;
opacity:0; transition:.3s ease-in-out opacity;
margin:0; padding:2% 5% 0 0;}
div:hover p+p {opacity:1;}
Run Code Online (Sandbox Code Playgroud)
在这里:http: //jsfiddle.net/ju6bX/45/
我正在使用Modernizr,因此'no-touch'类被添加到HTML标记中.一旦内容在被选项卡后出现,如果页面上的任何其他内容被标记,则应该再次隐藏它(访问者不需要能够以任何其他方式关闭它).
我想如果设备启用了触摸功能,我需要一些JS来添加点击功能,但这是我遇到困难的地方,因为我的Javascript知识至少可以说是差的.
我不太清楚:焦点是否适用于触摸屏上的场景.只是添加这个伪类就可以了吗?
非常感谢您的帮助.(顺便说一句,如果这与任何答案相关,也使用jQuery)
基本上我想要做的就是关闭Spinner的对话框和我在这些框外点击时创建的自定义对话框.谁知道如何处理这些?
dialog.xml,My Spinner的xml,MakeandShowDialogBox函数如下:
dialog.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TableLayout
android:id="@+id/scheduleTable"
android:layout_height="wrap_content"
android:layout_width="match_parent"
></TableLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
Spinner XML
<Spinner
android:id="@+id/spinList"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/strDepartmentNames"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:spinnerMode="dialog"
android:paddingTop="15dp"
android:paddingBottom="15dp" />
Run Code Online (Sandbox Code Playgroud)
makeAndShowDialogBox
private void makeAndShowDialogBox() {
AlertDialog.Builder myDialogBox = new AlertDialog.Builder(this);
final LayoutInflater layoutInflater = (LayoutInflater) getApplicationContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final View dialogView = layoutInflater.inflate(R.layout.dialog, null);
// Set three option buttons
myDialogBox.setPositiveButton("Close",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
});
myDialogBox.setView(dialogView);
myDialogBox.create();
myDialogBox.show();
}
Run Code Online (Sandbox Code Playgroud) 我正在努力禁用默认的taphold浏览器事件.我在Google上找到的任何内容都没有提供任何帮助.我只有Android 4.4.4移动版和Chrome开发工具进行测试.我尝试过CSS修复,例如webkit-touch-callout和其他,但显然它们不适用于Android,也不适用于Chrome开发工具.我也试过检测右键,(e.button == 2),它不起作用.
我提出了一个解决方案,但它解决了一个问题并创造了另一个问题.我只想对选定的锚点进行"长按"事件的自定义操作,我不希望出现默认弹出窗口(在新选项卡中打开,复制链接地址等).这就是我所做的:
var timer;
var tap;
$("body").on("touchstart", my_selector, function(e) {
e.preventDefault();
timer = setTimeout(function() {
alert('taphold!');
tap=false;
},500);
});
$("body").on("touchend", my_selector, function() {
if(tap) alert('tap');
else tap=true;
clearTimeout(timer);
});
Run Code Online (Sandbox Code Playgroud)
它成功禁用了默认的taphold事件,并且没有出现上下文菜单.但是它也会禁用有用的事件,例如滑动.链接位于垂直菜单中,菜单高于屏幕,因此用户必须滚动它.如果他试图滚动,从锚点开始,它将不会滚动,它会提示"点击!"
任何想法我如何禁用taphold默认或如何修复此代码,以便它只禁用点击事件并启用默认滑动事件?
编辑:现在我考虑设置超时,如果指针位于相同的位置,让我们说100毫秒,然后防止默认操作.但是e.preventDefault(); 在setTimeout回调中不起作用.
所以现在我只是问一个最简单的例子.我可以在经过一定时间后阻止默认操作(触摸仍然存在时).
这是我整个小提琴的问题.http://jsfiddle.net/56Szw/593/ 这不是我的代码,我从http://www.gianlucaguarini.com/blog/detecting-the-tap-event-on-a-mobile-touch-获得了这个代码.设备使用的JavaScript /
请注意,在向上和向下滑动框时,滚动不起作用.
我正在Ionic 3中寻找单独的事件处理程序,以开始和结束对移动应用程序上HTML元素的触摸。
我发现了许多相关且已解决的问题,但对于Ionic 3却没有,目前似乎仅支持“点击,按下,平移,滑动,旋转和捏合”(https://ionicframework.com/docs/components/#gestures) 。这些似乎都没有在开始时提供“处理程序”,而只是在结束时提供了“处理程序”。我看到,然后它们确实提供了触摸持续时间(deltaTime)的数据,但是到那时为止,这对我而言毫无用处。
要获得更多背景信息,我想清除的是在第一次触摸某个元素的确切时间里的相关超时,然后查看同一特定元素上的触摸是否在一定时间内(例如250毫秒,以便可以将其评估为“点击”)。
例如这样的事情:
JS:
timeout_1 = setTimeout(function() {
// do something if timeout_1 not cleared by touch start
}, 4000);
touched(event) {
clearTimeout(timeout_1);
touching_x = true
timeout_2 = setTimeout(function() {
touching_x = false
// store event details and do other things if timeout_2 not cleared by touch end
}, 250);
}
touch_ended(event) {
if (touching_x==true) {
clearTimeout(timeout_2);
// store event details and do some other things
}
}
Run Code Online (Sandbox Code Playgroud)
HTML:
<button ion-button type="button" (button_touch_started) = …Run Code Online (Sandbox Code Playgroud) touch ×10
android ×3
iphone ×3
css ×2
html ×2
javascript ×2
cocoa-touch ×1
css3 ×1
dialog ×1
hover ×1
image ×1
ionic3 ×1
ios ×1
jquery ×1
listener ×1
mobile ×1
objective-c ×1
spinner ×1
superview ×1
touchstart ×1
uialertview ×1
uiimageview ×1
wpf ×1
wpf-controls ×1