iPhone - Отображение модального вида через UIImagePickerController - PullRequest
0 голосов
/ 16 октября 2011

У меня есть UIImagePickerController, и во время его загрузки я хочу отобразить заявление об отказе от ответственности в modalView.

- (void) viewDidLoad 
{
    self.picker = [[UIImagePickerController alloc] init];
    self.picker.sourceType = UIImagePickerControllerSourceTypeCamera;
    self.picker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto;
    self.picker.delegate = self;

    [self presentModalViewController:self.picker animated:NO];
    [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];

    DisclaimerController* disclaimer = [[DisclaimerController alloc] init];  // Loads the Xib inside the init method
    UINavigationController* controller = [[UINavigationController alloc] initWithRootViewController:disclaimer];
    [self.navigationController presentModalViewController:controller animated:YES];
}

Но это не проявляется.

И я не хочу отклонять средство выбора, когда отказ от ответственности показывает или показывает его позже, потому что есть некоторые процедуры, которые занимают некоторое время, и время, когда пользователь читает заявление об отказе, мешает ему ждать слишком долго после закрытия отказ от ответственности.

1 Ответ

1 голос
/ 16 октября 2011

Я бы решил это с помощью AlertView.

Но если вы предпочитаете использовать свой метод, возможно, это подойдет

Попробуйте это:

- (void) showModalDisclaimer {
        DisclaimerController* disclaimer = [[DisclaimerController alloc] init];  
        // Loads the Xib inside the init method
        UINavigationController* controller = [[UINavigationController alloc] 
                                          initWithRootViewController:disclaimer];
        [self.picker presentModalViewController:controller animated:YES]; 
        // notice self.picker
}

- (void) viewDidLoad 
{
    self.picker = [[UIImagePickerController alloc] init];
    self.picker.sourceType = UIImagePickerControllerSourceTypeCamera;
    self.picker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto;
    self.picker.delegate = self;

    [self presentModalViewController:self.picker animated:NO];
    [[UIApplication sharedApplication] setStatusBarHidden:NO   
                       withAnimation:UIStatusBarAnimationNone];
    [self performSelector:@selector(showModalDisclaimer) withObject:nil afterDelay:0.1];
}
...