我有一个类与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