2009-05-19 4 views
3

Quelle est la façon appropriée de superposer deux couches d'un UIView pour l'iPhone? La vue sous-jacente doit être active jusqu'à ce qu'un bouton soit enfoncé, puis un autre UIView doit couvrir de manière transparente. J'ai trouvé les contrôleurs Modal View, mais ils échangent simplement des vues d'interface utilisateur mais ne les superposent pas.Overlaying UIViews

Merci d'avance.

Chris

Répondre

5

Vous devez utiliser [existingView addSubview:newView]; pour ajouter une vue à une vue existante. la nouvelle vue apparaîtra au-dessus de la vue existante. Donc, sur le plan conceptuel, vous devez créer un bouton sur existingView, connectez-le à un IBAction qui appelle une méthode comme ceci:

CGRect newSize = CGRectMake(0.0f ,0.0f, 320.f, 400.0f); 
UIView *newView = [[UIView alloc] initWithFrame:newSize]; 
[existingView addSubview:newView]; 
[newView release]; 

Cela placera un NewView au-dessus de la existingView.

+0

typo Small: [existingView addSubview: NewView]; – Chris

2

suivant est un simple 3 line ARC-compatible avec le recouvrement transparent pour

UIView
_overlayView = [[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds]; 
    _overlayView.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.5]; 
    [self.view addSubview:_overlayView];