/ / Zobraziť prekrývajúce sa oznámenia - ios, objektív -c, uiview

Zobraziť prekrývajúce sa upozornenia - ios, objective-c, uiview

Bol by som vďačný, keby mi niekto povedal, ako môžem zistiť, že jedno z mojich podhľadov sa čímkoľvek prekrýva (mám na mysli nejaké upozornenia alebo niečo podobné)

odpovede:

2 pre odpoveď č. 1

pri spustení aplikácie sa môžete zobraziť v kóde xcode. Nasleduj tieto kroky.

  1. Spustite aplikáciu v simulátore.
  2. Vyberte okno xcode a Choďte na ladiť z horného panela s ponukou a vyberte položku Zachytiť zobrazenie hierarchie

tu zadajte popis obrázku

  1. Tu môžete vidieť svoju úplnú štruktúru zobrazenia.

1 pre odpoveď č. 2

Použite nasledujúci kód ..

- (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];
}
}

Tu view je vaše subviews skontrolovať. V toplevelview míňať self.view ktorý rodičovský pohľad na všetky pohľady. V viewtosearch míňať self.view