使用Swift在iOS中未触摸/触摸时调整屏幕亮度
我对使用Swift在iOS中未触摸/触摸时调整屏幕亮度,ios,iphone,swift,Ios,Iphone,Swift,我对iOS和Swift非常陌生,在我解释时请容忍,如果有任何不清楚的地方,请告诉我,我会解释 我有一个iOS应用程序,它包括一些ui图像,ui按钮,等等。。当被触摸时,它们会相互作用 我希望在应用程序(屏幕上的任何位置)有一段时间没有被触摸时(比如说10秒)将屏幕调暗,然后在ui屏幕上的任何位置检测到触摸后,我希望再次增加亮度 我发现下面这行可以用来调整屏幕亮度: UIScreen.main.brightness = CGFloat(0.5) 但我不知道如何检测屏幕上任何地方的触摸(而不干扰所
iOS
和Swift
非常陌生,在我解释时请容忍,如果有任何不清楚的地方,请告诉我,我会解释
我有一个iOS
应用程序,它包括一些ui图像
,ui按钮
,等等。。当被触摸时,它们会相互作用
我希望在应用程序(屏幕上的任何位置)有一段时间没有被触摸时(比如说10秒)将屏幕调暗,然后在ui屏幕上的任何位置检测到触摸后,我希望再次增加亮度
我发现下面这行可以用来调整屏幕亮度:
UIScreen.main.brightness = CGFloat(0.5)
但我不知道如何检测屏幕上任何地方的触摸(而不干扰所有其他按钮等),也不知道如何将其与计时器相结合
(我的应用程序仅用于特定用途,不会分发,并且只在配备iOS10的iPhone 7设备上运行)好吧,有一个专门的应用程序
func hitTest(upoint:CGPoint,带事件:UIEvent?->UIView?
返回视图层次结构(包括其自身)中包含指定点的接收器的最远子体
此方法通过调用每个子视图的point(inside:with:)方法来遍历视图层次结构,以确定哪个子视图应接收触摸事件。如果point(inside:with:)返回true,则子视图的层次结构将被类似地遍历,直到找到包含指定点的最前面的视图为止。如果视图不包含该点,则忽略其视图层次的分支。您几乎不需要自己调用此方法,但可以重写它以隐藏子视图中的触摸事件
您需要创建UIView
或UIWindow
的子类来检测触摸。
然后覆盖hitTest功能,并在其内部实现所需的逻辑
更新:
请参阅runnable以获得想法。运行应用程序并尝试按视图,在视图之外,您将在调试器控制台中看到日志,其中包含有关视图的信息。希望它能对你有所帮助。嗯,有一个专门的方法
func hitTest(upoint:CGPoint,带事件:UIEvent?->UIView?
返回视图层次结构(包括其自身)中包含指定点的接收器的最远子体
此方法通过调用每个子视图的point(inside:with:)方法来遍历视图层次结构,以确定哪个子视图应接收触摸事件。如果point(inside:with:)返回true,则子视图的层次结构将被类似地遍历,直到找到包含指定点的最前面的视图为止。如果视图不包含该点,则忽略其视图层次的分支。您几乎不需要自己调用此方法,但可以重写它以隐藏子视图中的触摸事件
您需要创建UIView
或UIWindow
的子类来检测触摸。
然后覆盖hitTest功能,并在其内部实现所需的逻辑
更新:
请参阅runnable以获得想法。运行应用程序并尝试按视图,在视图之外,您将在调试器控制台中看到日志,其中包含有关视图的信息。希望它能对您有所帮助。可能是您可以在UIWindow上添加UIAPTgestureRecognitizer查看可能是您可以在UIWindow上添加UIAPTgestureRecognitizer查看感谢您的回答,但我很难重新启动API您可以提供一个简单的示例(无需实现逻辑)谢谢您的回答,但是我很难重新启动API,你能提供一个简单的例子吗(不需要实现逻辑)