问题标签 [uiresponder]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - UIView 带走第一响应者状态
想象一下将UITableView放入UIScrollView的情况。如果您点击表格视图并开始垂直移动 - UITableView将成为第一响应者并将垂直滚动。但是,如果您将手指水平移动 - UIScrollView将成为第一响应者并将水平滚动。
我有类似的情况,但不是 UIScrollView 我有简单的 UIView 对象拦截 - (void)touchesMoved:事件并进行移动(有点自制 ScrollView)。
但是我怎么能做与UIScrollView相同的技巧- 确定水平移动并从UITableView中删除第一响应者状态???
提前致谢!!!
iphone - 当我在 touchesBegan 内部制作动画时,触摸会丢失
我想在屏幕上有 4 个 UIView 并在触摸时为其背景颜色设置动画,并在触摸结束时将其更改回来。
不幸的是,当我在 touchesBegan 中执行此动画时 - touchesEnded 不会触发,除非在动画完成后触摸结束。这意味着 touchesEnded 在动画期间会因触摸而丢失。
此外,快速点击 UIView 不会导致多次 touchesBegan 调用。在动画(在第一次触摸中产生)完成之前,似乎没有收到新的触摸。
如何用动画响应所有触摸?实际上,我希望每次新的触摸都能打断之前的动画……然后重新开始。
objective-c - UIGestureRecognizer 阻止子视图处理触摸事件
我试图弄清楚这是如何以正确的方式完成的。我试图描述这种情况:
我正在添加 aUITableView
作为 a 的子视图UIView
。UIView
响应点击和,但是这样pinchGestureRecognizer
做时,表格视图停止对这两个手势做出反应(它仍然对滑动做出反应)。
我已经使用以下代码使其工作,但这显然不是一个好的解决方案,我相信有更好的方法。这放在UIView
(超级视图)中:
objective-c - 在 Cocoa,UIResponder 中将消息从子视图发送到父视图?
我有所有这些触摸敏感的子视图,我想从子视图向超级视图发送一条消息,说用户选择了它,因此超级视图可以与控制器的其余部分进行通信。
我无法在子视图和控制器之间进行通信,子视图 >> 超级视图 >> 控制器
也许使用 UIResponder 来实现这个?
iphone - resignFirstResponder fails to dismiss my custom keyboard on iPad. Why?
I've created a custom keyboard and used the inputView property to associate it with a UITextField. When the "dismiss" button on my custom keyboard is pressed, I call resignFirstReponder on my text field.
Before you dismiss this as another IB outlet issue, it's not. The text field pointer is valid, and in fact after calling resignFirstResponder, the caret disappears, which proves that resignFirstResponder is in fact working. It's just that my custom keyboard isn't hiding itself. Any idea why?
Do I need to do anything special on the custom keyboard to make it hide itself?
iphone - UIResponder - didBecomeFirstResponder?
当 UITextView 成为第一响应者时,有什么方法可以得到通知?我目前正在继承和覆盖- (BOOL)becomeFirstResponder
,但问题是这种情况发生在视图成为第一响应者时,而不是在它之后。
我也尝试过 KVC,但它不起作用:
我应该使用什么技术?
iphone - 显示文档时没有复制/粘贴和选择矩形的 UIWebView
在我的应用程序中,我想禁用 UIWebView 对象显示的内容的复制/粘贴/剪切。为此,我创建了一个 UIWebView 子类并覆盖了该- (BOOL)canPerformAction:(SEL)action withSender:(id)sender
方法:
现在用户不能再进行这样的操作,但是 UIWebView 仍然显示“选择矩形”,如下面的截图所示:
注意:UIWebView 中显示的内容不是 HTML 页面。我正在显示使用以下文件从文件加载的文档文件(PDF、DOC、PPT):
有什么方法可以禁用/隐藏这个选择矩形功能吗?
[]秒,
objective-c - 在这种情况下我必须子类吗?
我有一个 UIViewController 和一个 UITextView 。我想在 UIViewController 中获取 touchesbegan 方法,但当然,它被 UITextView 阻止了。那么,我是否必须继承 UITextView 才能覆盖 ressignsfirstresponder?有另一种方式,否则我将不得不创建两个文件只是为了覆盖一个简单地返回 NO 的方法。
谢谢。
更新:基本上我想在用户点击屏幕时显示 UIActionSheet。但我也希望 UITextView 可以滚动。
ios - 为什么 UIViewController 是 UIResponder 的子类?
制作UIViewController
子类的目的是UIResponder
什么?仅仅是为了通过轮换事件吗?
我在文档中找不到任何明确的信息。
更新
我知道,如果某些东西被做成 a UIResponder
,那么这个东西应该被包含在响应者链和处理事件中。但我有两个令人痛心的疑虑。
- 据我所知,
UIViewController
在它的view
. 为什么我们在响应者链中需要一个视图控制器?它view
已经存在了,那么为什么我们不让视图处理其子视图未处理的事件呢? - 好的,我已经准备好同意我们可能需要这个。但是我想看看一些现实生活中的例子,当真正需要在视图控制器中处理事件并且是做某事的最佳/最简单/最合适的方式时。
iphone - 更改第一响应者
大家好。我在触摸处理和 UIResponder 方面遇到了一点问题。
我的目标是管理一次触摸(移动)以与不同的视图进行交互。
我向我的 UIImageView 添加了一个手势识别器,它向我的 customViewController 发送一条简单的消息。它在点击的 UIImageView 上分配并显示自定义视图(继承 UIButton)。
我将能够(无需释放初始手指点击)将触摸移动发送到我新分配的自定义按钮。
似乎我的 UIImageView 吞下了我的触摸,所以我的新 Button 感觉不到手指的移动。我试图辞去第一响应者的职务,但似乎没有效果。
我的自定义按钮工作得很好,但前提是我释放第一次点击,然后再次点击新的显示按钮。
有什么建议吗?先感谢您。
这里有一些代码:
在我的 viewController 中,我将一个 longPressGestureRecognizer 附加到我的 profileImageView 中,它在 profileImageView 周围绘制了一个圆形按钮。
现在我使用 touchMoved 方法手动处理 circleMenu 内的 touchEvent。
目标始终是处理手势识别器的结束并将触摸事件传递给创建的新实例,而无需将手指从屏幕上抬起。
有任何想法吗?
PD:如果我使用 addTarget:action:forControlEvents: 在我的按钮(1、2、3 和 4)上,我使用 touchMoved 手动处理触摸,检测到 touchEvent 的按钮会吞下它并使其他按钮无法感觉到触摸移动他们。