2009-05-19 5 views
3

Каков подходящий способ наложения двух слоев UIView для iPhone? Подложка должна быть активной до нажатия кнопки, затем другой UIView должен покрывать все прозрачным способом. Я нашел Modal View Controllers, но они просто обмениваются UI-Views, но не накладываются.Наложение UIViews

Заранее спасибо.

Chris

ответ

5

Вы должны использовать [existingView addSubview:newView];, чтобы добавить представление в существующем виде. newView появится поверх существующего. Таким образом, концептуально, вы можете создать кнопку на existingView, подключите его к IBAction, который вызывает метод, как это:

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

Это поместит NewView на вершине existingView.

+0

Малой опечатки: [existingView addSubview: NewView]; – Chris

2

Ниже приведен простой 3 линия АРК-совместимый с прозрачной накладкой для UIView

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