问题标签 [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.
cocoa-touch - cocoa touch hitTest withEvent 可以识别 UIView 子类
我有一个带有子视图的视图,这些子视图是 UIView 的子类,在示例中子类称为 ESDcelda
现在我想知道我用以下方法用touchEvents指向什么样的UIView,但在日志中指针“vista”只能识别self类或UIView类,有什么方法可以识别子类“celdaSel “?
uitableview - UIButton 没有收到 UIScrollView 后面的操作
我把UIButton
里面UITableViewCell
放在UITableView
那个后面UIScrollView
。我将前向接触细分UIScrollView
为UITableView
.
所以方法 fromUITableViewDelegate didSelectRow
正在正确调用。问题是UIButton
表格单元格内部没有接收TouchUpInside
操作。
如何在不删除ScrollView
的情况下解决此问题TableView
?
编辑:
我通过检测哪个视图将接收触摸解决了这个问题。这是代码:
iphone - 我可以在我的 AppDelegate 中接收震动事件吗?
应用程序委托是一个 UIResponder 子类(从 Xcode 4.2 开始),因此它应该能够接收触摸和运动事件。我在我的 AppDelegate 类中添加了这个,但它不起作用:
它当然可以在视图控制器中工作,但我想检测应用程序范围内的抖动。
ios - UITextView UIResponderStandardEditActions 文本格式切换状态
如何确定文本格式的UIResponderStandardEditActions的当前状态?例如,如果我执行以下操作:
如何查询 textView 以了解粗体状态现在是打开还是关闭?这仅适用于没有选择的光标(即范围长度为 0)。因此, enumerateAttribute 似乎不起作用。
谢谢你。
ios - 集合视图中单元格中的 UIButton 未在事件内部接收修饰
以下代码表达了我的问题:(它是自包含的,您可以使用空模板创建一个 Xcode 项目,替换 main.m 文件的内容,删除 AppDelegate.h/.m 文件并构建它)
基本上我正在使用集合视图创建一个 Springboard 类型的 UI。我的UICollectionViewCell子类(Cell)有一个按钮,该按钮部分位于单元格的contentView(即其超级视图)边界之外。
问题是单击contentView边界之外的按钮的任何部分(基本上是按钮的 3/4)不会调用按钮操作。只有单击与contentView重叠的按钮部分时,才会调用按钮的操作方法。
我什至重写了Cell-pointInside:withEvent:
中的方法,以便确认按钮中的触摸。但这对按钮点击问题没有帮助。
我猜这可能与collectionView如何处理触摸有关,但我不知道是什么。我知道UICollectionView是一个UIScrollView子类,我实际上已经测试过覆盖-pointInside:withEvent:
包含部分重叠按钮的视图(将子视图制作为滚动视图)可以解决按钮单击问题,但它在这里不起作用。
有什么帮助吗?
** 补充:作为记录,我目前对该问题的解决方案包括在contentView中插入一个较小的子视图,从而使单元格具有其外观。删除按钮被添加到contentView中,使其矩形实际上位于 contentView 的范围内,但仅部分重叠单元格的可见部分(即插入子视图)。所以我得到了我想要的效果,并且按钮工作正常。但是我仍然对上面原始实现的问题感到好奇。
iphone - 如何禁用弹出菜单项,如选择、全选、建议...、定义(在 UIWebView 上)?
如何禁用弹出菜单项,如Select、Select All、Suggest...、Define (on UIWebView
)?
我在帮助中找到了以下信息,但不明白如何使用它:
对于编辑菜单命令,这是共享的UIApplication 对象。根据上下文,您可以向发送者查询信息,以帮助您确定是否应启用命令。
iphone - 在 plist iPhone 中保存事件及其发生的时间
我有一个 UIViewcontroller,里面有不同的 UI 元素。我想找到一种方法来跟踪该视图上发生的事件、它的发生点以及事件发生的时间,而无需进行任何硬编码以将其保存在相应的操作中。此外,该过程不应中断正在发生的事件。我想将这些细节保存到一个 plist 中。有人可以告诉我如何实现这个吗?任何建设性的建议表示赞赏。
iphone - 识别按下的标签按钮以移动到下一个响应者
我有多个从键盘输入的自定义类实例。你可以想到UITextField
(但他们不是UITextField
,他们是NSObject
)。但是,它们都有一个属性UIControl *control
。
这些对象被实例化并放入一个数组(顺序很重要),并且它们以相同的顺序放置在屏幕上。
场景 1:用户在第一个对象上的选项卡,它成为第一响应者。用户点击另一个对象(来自同一类)并成为第一响应者。没问题。
场景 2:用户在第一个对象上的选项卡,它成为第一响应者。用户点击TAB
键盘按钮(iPad 或 iPhone 或无线键盘),我希望数组中的下一个对象成为下一个响应者。iOS 随机选择 [? 或者有些逻辑我不清楚]另一个与我想要的顺序不同的对象。
问题:因为这些对象都是NSObject
s,如何截取到下一个对象的过渡。我尝试使用标签或跟踪谁是第一响应者,但问题是,如果用户无序地点击对象,那很好 - 我不想拦截它。我只想拦截从一个对象到花药的转换,只有通过点击键盘的TAB
(或Next
或Return
)按钮。
任何想法?谢谢。
ios - UITableViewCell 不会成为第一响应者(在单元格手势上显示 UIMenuController)
我有一个带有UITabBar
. 每个选项卡都是一个,里面UINavigationController
有几个UIViewControllers
。其中一个视图控制器包含一个UITableView
,我想显示一个用于删除长按的浮动菜单UITableViewCell
。
我正在使用UIMenuController
但它没有显示,因为单元格拒绝成为第一响应者。
这是我的代码:
在 UITableViewCell 我已经覆盖了方法:
关于为什么细胞没有成为第一响应者的任何想法?
谢谢!
iphone - UIScrollView touch down 由 subview 处理
我有UIScrollView
一个带孩子的UIView
。我已经继续UITapGestureRecognizer
向子视图添加了一个,如下所示:
// 和处理程序
这段代码可能在视图控制器中,但我有理由在视图本身中处理触摸。
如您所见,我正在测试水龙头的状态。然而,唯一被调用的状态是用户从屏幕上移开手指,完成点击。即 UIGestureRecognizerStateEnded。
当用户点击子视图(在滚动视图中)时,我知道父滚动视图“拦截”所有触摸并决定它们是否相关(用于平移、缩放等......),如果不通过触摸( es) 到它的子视图。因此touchesBegan:withEvent:
永远不会在滚动视图的子视图上被调用。
我想要的是在子视图中检测触摸事件(即用户将手指放在屏幕上的那一刻),无论用户随后是平移、滚动还是点击,并在其中处理该点击孩子。滚动视图的行为应该保持不变。
也许有更好的方法没有手势识别器,例如覆盖hitTest:withEvent
,但我那微不足道的人脑似乎无法弄清楚!
更新/示例:如果您查看一个UITableView
包含单元格的滚动视图。您会注意到将手指放在单元格上会立即突出显示它。然后滚动“取消”点击的行为。大体上是这样的想法。