Как использовать presentModalViewController для создания прозрачного представления - PullRequest
79 голосов
/ 25 февраля 2009

Я отображаю модальное представление с

[self presentModalViewController:controller animated:YES];

Когда представление перемещается вверх по экрану, оно становится прозрачным в соответствии с настройкой в ​​xib-файле, из которого он создан, но после заполнения экрана оно становится непрозрачным.

Есть ли способ сохранить прозрачность вида?

Я подозреваю, что вид, над которым он находится, не отображается, а модальный вид становится непрозрачным.

Ответы [ 21 ]

0 голосов
/ 11 сентября 2013

Это лучший и самый чистый способ, который я нашел до сих пор:

@protocol EditLoginDelegate <NSObject>

- (void)dissmissEditLogin;

@end

- (IBAction)showtTransparentView:(id)sender {

    UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"foo bar"
                                                         delegate:self
                                                cancelButtonTitle:@"cancel"
                                           destructiveButtonTitle:@"destructive"
                                                otherButtonTitles:@"ok", nil];

    [actionSheet showInView:self.view];

}

- (void)willPresentActionSheet:(UIActionSheet *)actionSheet{

    UIStoryboard *loginStoryboard     = [UIStoryboard storyboardWithName:@"Login" bundle:nil];
    self.editLoginViewController      = [loginStoryboard instantiateViewControllerWithIdentifier:@"EditLoginViewController"];

    self.editLoginViewController.delegate = self;

    [self.editLoginViewController viewWillAppear:NO];
    [actionSheet addSubview:self.editLoginViewController.view];
    [self.editLoginViewController viewDidAppear:NO];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...