簡體   English   中英

如何在iPhone狀態欄中檢測到觸摸?

[英]How do I detect a touch in the iPhone status bar?

我有一個UITableview,當觸摸狀態欄時,我想滾動到頂部。

我希望找到一個可以聽的通知,然后將tableview:scrollToRowAtIndexPath:用於滾動,但找不到。

有沒有辦法做到這一點?

[更新]

在網上找到更多信息,我懷疑這是模擬器在咬我。 我的UIScrollView無法滾動到模擬器的頂部,但是我沒有在硬件上嘗試過。 另外,我有一個UIScrollView,還有UITextView,所以我想知道是否在吃它。

我將看到我可以使用scrollsToTop做什么。

您真正想要的是cocoawithlove.com上的這篇文章

從那篇文章:

“示例應用程序最棘手的部分是檢測狀態欄中的觸摸。

通過在UITableView上實現自定義setContentOffset:animated:方法並在該方法中設置斷點,您可以在調試器堆棧中看到為狀態欄觸摸而調用了UIApplication sendEvent:方法,因此我們將從這里開始。”

除非將scrollsToTop屬性設置為NO,否則它應該是自動發生的。

這可能是主要的矯over過正,但是您可以編寫自己的狀態欄。

您可以通過在應用程序plist中將“狀態欄最初處於隱藏狀態”設置為YES來隱藏實際狀態欄。 然后在視圖頂部以20px的高度創建自己的自定義狀態欄視圖,該視圖可以是UIButton或只是具有UITapGestureRecognizer的UIView。

您可以使用以下方法檢測電池電量/狀態(是否已充電和未插入):

UIDevice *myDevice = [UIDevice currentDevice];
[myDevice setBatteryMonitoringEnabled:YES];

float batteryLevel = [myDevice batteryLevel];
UIDeviceBatteryState batteryState = [myDevice batteryState];

您可以使用[NSDate date]獲取時間; (然后使用NSDateFormatter進行格式化)。

獲得信號強度有些困難,但可以通過一定程度的獨創性粗略估算。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM