Übereinander UIViews
-
22-08-2019 - |
Frage
Was ist die angemessene Art und Weise zwei Schichten eines UIView für das iPhone zu überlagern? Die darunter liegende Ansicht sollte aktiv sein, bis eine Taste gedrückt wird, dann sollte eine andere UIView decken alles in einer transparenten Art und Weise. Ich fand die Modal View-Controller, sondern sie einfach austauschen UI-Ansichten, aber nicht überlagern.
Vielen Dank im Voraus.
Chris
Lösung
Sie sollten [existingView addSubview:newView];
verwenden, um einen Blick auf eine vorhandene Ansicht hinzuzufügen. die NewView wird auf der Oberseite des existingView erscheinen. So konzeptionell, würden Sie auf eine Schaltfläche auf existingView erstellen, verbinden Sie es mit einem IBAction, die eine Methode wie folgt aufruft:
CGRect newSize = CGRectMake(0.0f ,0.0f, 320.f, 400.0f);
UIView *newView = [[UIView alloc] initWithFrame:newSize];
[existingView addSubview:newView];
[newView release];
Dies wird eine NewView auf dem existingView platzieren.
Andere Tipps
Es folgt eine einfache 3 Linie ARC-kompatibel mit transparenten Overlay für UIView
_overlayView = [[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds];
_overlayView.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.5];
[self.view addSubview:_overlayView];