如何知道视图层次结构中是不是显示 UIActionSheet?
Posted
技术标签:
【中文标题】如何知道视图层次结构中是不是显示 UIActionSheet?【英文标题】:How to know if there is a UIActionSheet showing in view Hierarchy?如何知道视图层次结构中是否显示 UIActionSheet? 【发布时间】:2013-01-15 10:34:37 【问题描述】:如何知道View Hierarchy
中是否显示UIActionSheet
?
我也想参考那个UIActionSheet
,有什么好主意吗?
【问题讨论】:
为操作表使用标签并实现委托。 可能重复:***.com/questions/4363317/…,看看第二个答案 @RoxDorentus 我不认为它完全重复,但它确实解决了我的问题,谢谢。 【参考方案1】:请注意,在 ios6 上,您需要递归搜索才能找到 UIActionSheet,它现在不是 UIWindow 的直接子视图。
static UIView *actionSheet = nil;
-(void)findActionSheetInSubviewsOfView:(id)view
if (actionSheet)
return;
if ([[view valueForKey:@"subviews"] count] != 0)
for (id subview in [view valueForKey:@"subviews"])
if ([subview isKindOfClass:[UIActionSheet class]])
actionSheet = subview;
else
[self findActionSheetInSubviewsOfView:subview];
-(UIActionSheet*) actionSheetShowing
actionSheet = nil;
for (UIWindow* window in [UIApplication sharedApplication].windows)
[self findActionSheetInSubviewsOfView:window];
if (actionSheet)
return (UIActionSheet*)actionSheet;
return nil;
【讨论】:
以上是关于如何知道视图层次结构中是不是显示 UIActionSheet?的主要内容,如果未能解决你的问题,请参考以下文章
如何以模态方式将视图添加到不在视图层次结构中的另一个视图 iOS