问题标签 [uievent]

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.

0 投票
1 回答
154 浏览

iphone - 是否可以在 viewWillAppear 和 viewDidAppear 之间调用 UIEvent?

是否可以处理 viewWillAppear 和 viewWillDisappear 之间的 UIEvents?例如:

假设我有一个带有 UITableView 的视图控制器。当按下一个单元格时,我将另一个视图控制器推送到导航控制器(当然还显示它)。是否有可能在推送视图的 viewWillAppear 事件之后(并且在 viewDidAppear 之前)我仍然可以按下 UITableView 中的单元格之一?

我问这个是因为我在我的应用程序的日志中看到了这个,我从没想过这样的事情是可能的..

你们(或女孩)怎么看?谢谢!

0 投票
1 回答
560 浏览

ios - 是否可以决定 UITouch 绑定到哪个视图?

我有几个 UIView,它们的形状有些复杂,我通过每个 UIView 的 drawRect: 方法绘制了这些形状。我保存了对路径的引用(通过 CGPath 属性),并在我的触摸方法中使用它来检测触摸是否实际上在路径或形状(CGPathContainsPoint)内。由于形状的原因,视图的某些区域是透明的(显然,任何不是正方形/矩形的区域都将具有透明区域,假设视图的 backgroundColor 属性设置为 clearColor 或类似的)。

对于视图最终位于顶部或相互重叠的情况(经常发生),我正在测试触摸方法(touchesBegan 等)以查看触摸是否实际上在 CGPath 或形状内。如果触摸不在形状内,我会将触摸转发到下面的下一个视图,以查看它是否反过来通过了该要求。

可悲的是(令我沮丧的是),这与实际绑定到视图的触摸行为不同。我已经以各种方式解决了这个问题,除了一个特别的问题。每个视图都使用 UIRotationGestureRecognizer。但是,如果触摸源自另一个视图的透明区域,并且该视图将该触摸转发到其下方的视图,则永远不会触发 UIGestureRecognizer。

我已经从我知道的各个角度看待这个问题。我试图想办法将触摸重新分配或绑定到适当的视图,但我不知道这是否可能。只要视图只是将触摸转发到另一个视图,触摸将保持绑定到首先收到触摸的原始视图。

我想知道您是否可以通过子类化 UIApplication 或 UIWindow 并覆盖 sendEvent:" 方法来执行此操作。我不确定 Apple 在这方面可能会给您什么控制权。我无法做任何可能访问私有的事情API's. 我真的只需要一些方法来重新分配触摸,以便视图认为触摸属于它。

有任何想法吗?'

0 投票
1 回答
400 浏览

iphone - iphone 远程事件通知没有被调用 MPMoviePlayer

MPMoviePlayer在我的视图控制器中使用。在viewwillappear我正在做

但是-(void)remoteControlReceivedWithEvent:(UIEvent *)event当我单击播放器上的下一首曲目或上一首曲目按钮时,不会随时被调用。

我还包括以下代码viewwillappear

让我知道可能是什么问题?或者给我一个示例或一些示例代码,我们可以在其中通知UIEventSubtypeRemoteControlNextTrackUIEventSubtypeRemoteControlPreviousTrack事件。

0 投票
1 回答
1964 浏览

ios - hitTest:withEvent: UIEvent allTouches 为空

我有一个UIView实现的习惯hitTest:withEvent:

问题是x总是如此0。我是否已经实现了其他 API 或配置了这些 APIUIView以开始接触?

我只需要它来区分触摸开始/移动和结束。

0 投票
1 回答
1677 浏览

objective-c - 获取 UIEvent 取消 UIGestureRecognizer

我有一个简单的滑动手势,我希望它的优先级很低。我希望它被视图上的控件发生的事件取消。起初,我认为这很简单。当手势发生时很容易取消事件,但我似乎不能做相反的事情。

如果手势与任何可触摸的东西冲突,我的解决方案是取消手势。这是我一起破解的代码:

我觉得这是解决问题的错误方法。我错过了什么?获取事件以取消手势的正确方法是什么?


有关更多上下文,我在视图中添加了两个 UISwipeGestureRecognizers(向左滑动和向右滑动)。视图中还有一个 UISlider(嵌入式 MPVolumeView 的一部分)。当我移动滑块来改变音量时,向左或向右滑动会触发。

0 投票
1 回答
212 浏览

ios - iOS应用程序-实体日期属性达到截止日期时推送通知警报

我正在尝试制作一个应用程序,它会在当前事件即将结束时向我发出警告。我有一个实体(事件),带有一个日期属性 - 这是事件的结束日期。如何设置通知提醒以在活动结束前两天弹出?任何指向其他教程或任何提示的链接将不胜感激。

0 投票
3 回答
334 浏览

iphone - 拦截 UIEvents 并将它们传递给父元素

我有一个有趣的场景。我有一个包含按钮的自定义 TableViewCell 类。我想做的是在自定义单元格类中捕获按钮的触摸事件,并为容器控件(ler)处理一个新事件。

原因是我有一个带有标记为“存档”按钮的单元格。现在,我不想处理自定义 TableViewController 中的单元格代码,而是首先拦截按钮调用,因为我需要隐藏存档按钮并告诉容器控件(或 TableViewController)处理“单元格 X 上发生了存档事件”。我不希望控制器知道细胞内发生了什么。这样我就有了一些可重用和更简洁的代码。

因此控制器应该能够接收事件并形成事件以确定涉及哪个单元,以便知道它需要删除哪个记录。我可以通过 NSNotificationCenter 类实现这一点,并让观察者为我处理它,但如果我可以将它作为一个事件提出来,那就太好了(我想,不知道你是否同意)。

这可以通过iOS开发完成吗?

我希望我的问题是有道理的。

谢谢

编辑:看来我被误解了。所以让我说清楚(除非这根本不可能),我不希望 TableViewController 知道单元格内的按钮。控制器需要接收单元生成的事件,因为它捕获了原始按钮触摸事件,并且从单元内部需要生成控制器可以捕获的新事件。类似于您在 .NET 世界中可以做的事情。但是,如果无法做到这一点,请告诉我。原因是为了更清洁和可重用的代码。

0 投票
1 回答
426 浏览

iphone - 圆形自定义按钮的活动区域较小

我有一个自定义按钮(它使用圆形图像作为其自定义视图)。问题是:自定义按钮的活动区域太大,如果我在按钮外点击至少 100 像素,它仍然会被注册为按钮上的点击。这会导致意外点击。

注意:- 我不想减小按钮的大小,因为它已经大于最低要求。我想减少可点击的空间。

如何减少这些按钮的活动区域?

0 投票
3 回答
1610 浏览

ios - 如何根据 x , y ( touchesMoved ) 在视图中获取对象

我想UIImageView使用这种方法根据 xPos 和 yPos 在视图中获取(或我拥有的任何东西):

非常感谢 !

0 投票
1 回答
633 浏览

objective-c - 覆盖 addTarget 方法

我有 UIControl 的子类,并且想覆盖 sendAction:to:forEvent 方法,以便我可以发送我自己的自定义 UIEvent(以便我可以保留 UIControlEvents 变量)。但是,由于我只需要处理一个 UIEvent,因此我无法保留 UIControlEvents 变量。

因此,我认为我需要重写 addTarget 方法,以便保留 UIControlEvents 变量。


主要问题:

那么有谁知道如何实现 addTarget 方法来保留它应该的功能而不覆盖它?此外,有没有人知道更好的解决方案,因为默认情况下苹果不提供此信息(通过 UIEvent 对象的 UIControlEvents 变量)。