85得票10回答
UIGestureRecognizer阻止子视图处理触摸事件

我正在尝试找出如何以正确的方式完成这个任务。我试图描述一下情况: 我正在将一个UITableView作为UIView的子视图添加进去。当UIView响应点击和pinchGestureRecognizer时,但这样做时,tableview不再响应这两个手势(仍然响应滑动手势)。 我已经用了...

76得票7回答
如何忽略触摸事件并将其传递给另一个子视图的UIControl对象?

我有一个自定义的UIViewController,其UIView占据屏幕的一个角落,但是它大部分是透明的,除了一些按钮和其他东西。由于这个视图上的对象布局,该视图的框架可能会覆盖其中的一些按钮。如果触摸不在重要的地方,我希望能够忽略该视图上的任何触摸,但是我似乎只能传递实际的触摸事件(touc...

53得票5回答
底部停靠的输入辅助视图

我试图实现类似于苹果信息应用程序中底部文本输入栏的定位行为。 我尝试了许多方法,在高处和低处搜索,有许多类似的问题,但没有一个令人满意的答案。 具体要求如下: 视图底部有一个工具栏UIToolbar 当键盘出现或消失时,工具栏会跟随键盘 当键盘可见时,工具栏应保持在键盘上方 当键盘隐藏...

47得票4回答
有没有方法询问一个iOS视图中哪个子视图具有第一响应者状态?

在 Mac OS X 中,您可以通过以下方式查找第一响应者:[[self window] firstResponder] 在iOS中有没有方法可以做到这一点?或者你需要枚举子控件并向每个控件发送一个isFirstResponder消息吗?

42得票4回答
当iOS父视图的userInteractionEnabled设置为NO时,如何获取触摸事件

当父视图的userInteractionEnabled=NO时,即使其子视图的userInteractionEnabled属性设置为YES,它们也不会接受触摸事件。 是否有方法仍然可以在子视图中获取触摸事件?

38得票1回答
UIGestureRecognizer接收触摸事件,但也将其转发给UIControl。

如何使一个UIView上的UIGestureRecognizer能够接收到触摸事件,同时确保另一个底层/覆盖的UIView也接收到相同的触摸事件? 假设我有以下视图层次结构: 视图A(蓝色)和B(红色)都是同一父视图(灰色)的子视图。换句话说,它们都是兄弟姐妹,它们的顺序决定了哪个覆盖另一个。...

36得票8回答
使用滑动手势(如在消息应用程序中)关闭键盘

当键盘出现在iPhone的信息应用程序上时,如果用户从消息tableview开始向下滑动并继续进入键盘区域,则键盘将开始消失。如果在此过程中他们上下移动手指,则键盘也会随之移动。 苹果是否使用私有API来实现此功能,或者是否有一种方式可以通过(我想)手势识别器来控制键盘?

34得票4回答
在iOS上,如果一个父视图的userInteractionEnabled为NO,则所有子视图也会被禁用吗?

我认为当触摸或点击视图时,它的处理程序会首先被调用,然后再调用其父视图的处理程序(向上传播)。 但是,如果父视图的userInteractionEnabled属性设置为NO,那么所有子视图和后代也将禁用用户交互。如果我们只想禁用主视图,而不想禁用子视图,该怎么办呢?

32得票2回答
EXC_BAD_ACCESS 点击 UISearchBar 三次出错

我正在尝试将搜索栏作为UICollectionViewReusableView实现在UICollectionView中。 这样,我就不是使用UISearchController了,而是改变collectionview的数据源。 在我的自定义布局中,我是这样添加搜索栏的:override f...

32得票5回答
iPhone中的响应者链是如何工作的?什么是“下一个响应者”?

这是文档中的说明: 如果第一个响应者[对事件或操作消息]无法处理事件或操作消息,则将其转发到称为响应者链的链接系列中的“下一个响应者”。响应器链允许响应器对象将处理事件或操作消息的责任转移给应用程序中的其他对象。 如果响应者链中的对象无法处理事件或操作,则它会将消息重新发送到...