我的应用程序中有自定义视图,可以由用户滚动.但是,此视图不会从UIScrollView继承.现在我希望用户能够将此视图滚动到顶部,就像任何其他可滚动视图允许的那样.我认为没有直接的方法可以做到这一点.
Google提出了一个解决方案:http://cocoawithlove.com/2009/05/intercepting-status-bar-touches-on.html这不再适用于iOS 4.x. 那是不行的.
我有想法创建一个scrollview并将其保存在某个地方,只是为了捕获它的通知然后将它们转发给我的控件.这不是解决我的问题的好方法,所以我正在寻找"更清洁"的解决方案.我喜欢前面提到的UIApplication子类链接的一般方法.但是什么API可以给我可靠的信息?
有什么想法,帮助等......?
编辑:我不喜欢我当前解决方案的另一件事是它只有在当前视图没有任何滚动视图时才有效.滚动到顶部的手势只有在周围只有一个滚动视图时才有效.只要将虚拟添加到具有另一个滚动视图的视图(请参阅下面的详细说明),手势就会完全禁用.寻找更好解决方案的另一个原因......
我有一个touchesBegan方法AppDelegate。我用它来检测状态栏中的水龙头。我在那里待了很长时间,效果很好。在iOS 13 Beta发布之前...
自从使用iOS 13 touchesBegan以来,就不再停止调用它。我的应用程序中与手势相关的其他任何内容都没有更改,我的内容也没有任何AppDelegate更改。除了touchesBegan在iOS 12中而不是在iOS 13中被称为之外,我实际上没有什么可做的。
到目前为止没有运气,所以如果有人遇到相同或相似的问题,我在这里分享。
更新:1我发现了以下半相关的问题,这些问题导致我进入了iOS 13中苹果公司新的UISceneDelegate。这些问题touchesBegan都不能解释为什么不被调用。UISceneDelegate到目前为止,据我了解,我还没有找到为什么touchesBegan没有被调用的原因。
View Controller在iOS 12中响应应用程序委托通知,但在iOS 13中不响应。
如何检测状态栏中的触摸
iOS13:如何检测状态栏中的单击事件?