我有一個類與Web服務進行通信,並在整個應用程序中使用。我正在尋找的是一種在UIActionSheet中顯示錯誤消息的方式,以查看用戶所處的位置。是否有一種簡單的方法可以執行此操作?如果可能的話,我想避免在每個視圖中回調方法。有沒有辦法來檢測UIView當前可見?
4
A
回答
13
如果您在其他答案中使用代碼,則在提交到應用商店時(使用非公開API),您的應用將被拒絕。我發現那很難。更好的解決方案是創建一個類別。以下是我用來取代原來的解決方案的代碼:
@interface UIView (FindFirstResponder)
- (UIView *)findFirstResponder;
@end
而且
@implementation UIView (FindFirstResponder)
- (UIView *)findFirstResponder
{
if (self.isFirstResponder) {
return self;
}
for (UIView *subView in self.subviews) {
UIView *firstResponder = [subView findFirstResponder];
if (firstResponder != nil) {
return firstResponder;
}
}
return nil;
}
@end
5
你想要做的是找到我認爲的關鍵窗口的第一響應者。你可以這樣做:
UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow];
UIView *firstResponder = [keyWindow performSelector:@selector(firstResponder)];
這應該會給你在UIActionSheet調用中使用的視圖。
相關問題
- 1. 有沒有什麼辦法可以檢測IE8當前活動的窗口?
- 2. 有沒有什麼辦法可以檢測softInput鍵盤可見的類型
- 3. 有沒有辦法檢索TextView的可見行數或範圍?
- 4. 有沒有辦法檢測NPLogonNotify
- 5. 有沒有辦法在Xcode4中「測試」當前文件?
- 6. Struts:有沒有辦法測試當前模塊?
- 7. 有沒有辦法檢查Linux上當前的rpath?
- 8. 有沒有辦法檢測最近的UIButton來點擊位置?
- 9. 有沒有什麼辦法來檢測Android碎片中的userInterations?
- 10. 有沒有辦法來檢測哪個MutationObserver回調被調用?
- 11. 有沒有辦法增強這個圈子來檢測它?
- 12. 有沒有辦法來檢測ASP.NET中的路由URL?
- 13. 有沒有辦法讓一個UIView輪?
- 14. 有沒有辦法檢查當前沒有登錄的用戶的角色?
- 15. 有沒有辦法來驗證另一個程序的當前窗口是完全可見的?
- 16. 有沒有辦法來OpenAccessContext
- 17. MVCSitemapProvider當前節點沒有檢測
- 18. 有沒有辦法告訴我的UIView從哪個nib醒來?
- 19. 有沒有辦法檢測Outlook郵件是否沒有附件?
- 20. 有沒有辦法看到元素是否可見,可點擊?
- 21. 最前面的可見UIView沒有收到觸摸,爲什麼?
- 22. 有沒有辦法檢測iAd是否顯示「測試廣告」?
- 23. 有沒有辦法來檢查Texture2D當前是否未被使用,所以我可以對它執行SetData()?
- 24. 有沒有辦法用CodeIgniter獲取當前對象和方法?
- 25. 有沒有辦法知道當前有多少個webrole實例?
- 26. 有沒有辦法檢測XmlHttpRequest無法解析URL?
- 27. 有沒有辦法通過遺傳算法檢測公式?
- 28. 有沒有辦法做一個「無法檢測的,iframe代碼」
- 29. 有沒有辦法在Eclipse中使空包可見?
- 30. 有沒有辦法使HTML.ActionLink默認不可見?
這做到了。謝謝。 – respectTheCode 2009-06-09 11:29:30
只是想你想知道,如果你提交你的應用程序與上面的代碼,它會被拒絕使用非公開API。它發生在我身上。 – 2009-12-01 00:13:41