问题标签 [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.
iphone - 是否可以在 viewWillAppear 和 viewDidAppear 之间调用 UIEvent?
是否可以处理 viewWillAppear 和 viewWillDisappear 之间的 UIEvents?例如:
假设我有一个带有 UITableView 的视图控制器。当按下一个单元格时,我将另一个视图控制器推送到导航控制器(当然还显示它)。是否有可能在推送视图的 viewWillAppear 事件之后(并且在 viewDidAppear 之前)我仍然可以按下 UITableView 中的单元格之一?
我问这个是因为我在我的应用程序的日志中看到了这个,我从没想过这样的事情是可能的..
你们(或女孩)怎么看?谢谢!
ios - 是否可以决定 UITouch 绑定到哪个视图?
我有几个 UIView,它们的形状有些复杂,我通过每个 UIView 的 drawRect: 方法绘制了这些形状。我保存了对路径的引用(通过 CGPath 属性),并在我的触摸方法中使用它来检测触摸是否实际上在路径或形状(CGPathContainsPoint)内。由于形状的原因,视图的某些区域是透明的(显然,任何不是正方形/矩形的区域都将具有透明区域,假设视图的 backgroundColor 属性设置为 clearColor 或类似的)。
对于视图最终位于顶部或相互重叠的情况(经常发生),我正在测试触摸方法(touchesBegan 等)以查看触摸是否实际上在 CGPath 或形状内。如果触摸不在形状内,我会将触摸转发到下面的下一个视图,以查看它是否反过来通过了该要求。
可悲的是(令我沮丧的是),这与实际绑定到视图的触摸行为不同。我已经以各种方式解决了这个问题,除了一个特别的问题。每个视图都使用 UIRotationGestureRecognizer。但是,如果触摸源自另一个视图的透明区域,并且该视图将该触摸转发到其下方的视图,则永远不会触发 UIGestureRecognizer。
我已经从我知道的各个角度看待这个问题。我试图想办法将触摸重新分配或绑定到适当的视图,但我不知道这是否可能。只要视图只是将触摸转发到另一个视图,触摸将保持绑定到首先收到触摸的原始视图。
我想知道您是否可以通过子类化 UIApplication 或 UIWindow 并覆盖 sendEvent:" 方法来执行此操作。我不确定 Apple 在这方面可能会给您什么控制权。我无法做任何可能访问私有的事情API's. 我真的只需要一些方法来重新分配触摸,以便视图认为触摸属于它。
有任何想法吗?'
iphone - iphone 远程事件通知没有被调用 MPMoviePlayer
我MPMoviePlayer
在我的视图控制器中使用。在viewwillappear
我正在做
但是-(void)remoteControlReceivedWithEvent:(UIEvent *)event
当我单击播放器上的下一首曲目或上一首曲目按钮时,不会随时被调用。
我还包括以下代码viewwillappear
让我知道可能是什么问题?或者给我一个示例或一些示例代码,我们可以在其中通知UIEventSubtypeRemoteControlNextTrack
和UIEventSubtypeRemoteControlPreviousTrack
事件。
ios - hitTest:withEvent: UIEvent allTouches 为空
我有一个UIView
实现的习惯hitTest:withEvent:
问题是x
总是如此0
。我是否已经实现了其他 API 或配置了这些 APIUIView
以开始接触?
我只需要它来区分触摸开始/移动和结束。
objective-c - 获取 UIEvent 取消 UIGestureRecognizer
我有一个简单的滑动手势,我希望它的优先级很低。我希望它被视图上的控件发生的事件取消。起初,我认为这很简单。当手势发生时很容易取消事件,但我似乎不能做相反的事情。
如果手势与任何可触摸的东西冲突,我的解决方案是取消手势。这是我一起破解的代码:
我觉得这是解决问题的错误方法。我错过了什么?获取事件以取消手势的正确方法是什么?
有关更多上下文,我在视图中添加了两个 UISwipeGestureRecognizers(向左滑动和向右滑动)。视图中还有一个 UISlider(嵌入式 MPVolumeView 的一部分)。当我移动滑块来改变音量时,向左或向右滑动会触发。
ios - iOS应用程序-实体日期属性达到截止日期时推送通知警报
我正在尝试制作一个应用程序,它会在当前事件即将结束时向我发出警告。我有一个实体(事件),带有一个日期属性 - 这是事件的结束日期。如何设置通知提醒以在活动结束前两天弹出?任何指向其他教程或任何提示的链接将不胜感激。
iphone - 拦截 UIEvents 并将它们传递给父元素
我有一个有趣的场景。我有一个包含按钮的自定义 TableViewCell 类。我想做的是在自定义单元格类中捕获按钮的触摸事件,并为容器控件(ler)处理一个新事件。
原因是我有一个带有标记为“存档”按钮的单元格。现在,我不想处理自定义 TableViewController 中的单元格代码,而是首先拦截按钮调用,因为我需要隐藏存档按钮并告诉容器控件(或 TableViewController)处理“单元格 X 上发生了存档事件”。我不希望控制器知道细胞内发生了什么。这样我就有了一些可重用和更简洁的代码。
因此控制器应该能够接收事件并形成事件以确定涉及哪个单元,以便知道它需要删除哪个记录。我可以通过 NSNotificationCenter 类实现这一点,并让观察者为我处理它,但如果我可以将它作为一个事件提出来,那就太好了(我想,不知道你是否同意)。
这可以通过iOS开发完成吗?
我希望我的问题是有道理的。
谢谢
编辑:看来我被误解了。所以让我说清楚(除非这根本不可能),我不希望 TableViewController 知道单元格内的按钮。控制器需要接收单元生成的事件,因为它捕获了原始按钮触摸事件,并且从单元内部需要生成控制器可以捕获的新事件。类似于您在 .NET 世界中可以做的事情。但是,如果无法做到这一点,请告诉我。原因是为了更清洁和可重用的代码。
iphone - 圆形自定义按钮的活动区域较小
我有一个自定义按钮(它使用圆形图像作为其自定义视图)。问题是:自定义按钮的活动区域太大,如果我在按钮外点击至少 100 像素,它仍然会被注册为按钮上的点击。这会导致意外点击。
注意:- 我不想减小按钮的大小,因为它已经大于最低要求。我想减少可点击的空间。
如何减少这些按钮的活动区域?
ios - 如何根据 x , y ( touchesMoved ) 在视图中获取对象
我想UIImageView
使用这种方法根据 xPos 和 yPos 在视图中获取(或我拥有的任何东西):
非常感谢 !
objective-c - 覆盖 addTarget 方法
我有 UIControl 的子类,并且想覆盖 sendAction:to:forEvent 方法,以便我可以发送我自己的自定义 UIEvent(以便我可以保留 UIControlEvents 变量)。但是,由于我只需要处理一个 UIEvent,因此我无法保留 UIControlEvents 变量。
因此,我认为我需要重写 addTarget 方法,以便保留 UIControlEvents 变量。
主要问题:
那么有谁知道如何实现 addTarget 方法来保留它应该的功能而不覆盖它?此外,有没有人知道更好的解决方案,因为默认情况下苹果不提供此信息(通过 UIEvent 对象的 UIControlEvents 变量)。