查看重叠的nofication

时间:2015-08-11 11:10:52

标签: ios objective-c uiview

如果有人能告诉我如何能够发现我的某个子视图与任何内容重叠(我的意思是某些警报或类似内容),我将不胜感激。

2 个答案:

答案 0 :(得分:2)

您可以在运行应用时在xcode中查看自己。请按照以下步骤操作。

  1. 在模拟器中运行应用程序。
  2. 选择xcode窗口并从顶部菜单栏转到调试,然后选择捕获视图层次结构
  3. enter image description here

    1. 在这里,您可以看到完整的视图结构。

答案 1 :(得分:1)

使用以下代码..

TableRows

此处- (void)checkAnyViewOverlappingViewFrame:(UIView*)view topLevelView:(UIView *)toplevelview viewToSearch:(UIView*)viewtosearch { // Get the subviews of the view NSArray *subviews = [viewtosearch subviews]; // Return if there are no subviews if ([subviews count] == 0) return; // COUNT CHECK LINE for (UIView *subview in subviews) { CGRect frameRelativeToParent = [subview convertRect:subview.bounds toView:toplevelview]; if (CGRectIntersectsRect(view.frame, frameRelativeToParent) && view.layer.zPosition < subview.layer.zPosition) { NSLog(@"Overlapping view: %@", subview); } [self checkAnyViewOverlappingViewFrame:view topLevelView:toplevelview viewToSearch:subview]; } } 是您需要检查的子视图。在view传递toplevelview所有视图的父视图。在self.view传递viewtosearch