PresentViewController показывает черную страницу - программирование
Подтвердить что ты не робот

PresentViewController показывает черную страницу

- (IBAction)submitButtonClicked:(id)sender{
    NSLog(@"here");
    SuccessOrFailViewController *sfvc = [[SuccessOrFailViewController alloc] init];
    [self presentViewController:sfvc animated:NO completion:NULL];
}

Я пытаюсь открыть новую страницу, когда пользователь нажимает кнопку отправки в приложении. Однако это открывает полностью черный экран, на нем ничего нет. Как мне заставить его открывать viewController?

4b9b3361

Ответ 1

Вы не вводите имя nib для пользовательского интерфейса:

SuccessOrFailViewController *sfvc = [[SuccessOrFailViewController alloc] initWithNibName:@"SuccessOrFailViewController" bundle:nil];
[self presentViewController:sfvc animated:NO completion:NULL];

Для раскадровки это способ:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
SuccessOrFailViewController *sfvc = [storyboard instantiateViewControllerWithIdentifier:@"SuccessOrFailViewController"];
[sfvc setModalPresentationStyle:UIModalPresentationFullScreen];
[self presentModalViewController:sfvc animated:YES];

Ответ 2

Swift

var next = self.storyboard?.instantiateViewControllerWithIdentifier("DashboardController") as! DashboardController
self.presentViewController(next, animated: true, completion: nil)

не забудьте установить ViewController StoryBoard Id в StoryBoardidentity inspector

Ответ 3

Если кто-нибудь еще это обнаружит, убедитесь, что вы не установили self.view.backgroundColor = UIColor.clearColor() в представлении, которое будет показано... Это разрешило это для меня.

Ответ 4

Для раскадровки iOS7

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
SuccessOrFailViewController *sfvc = [storyboard instantiateViewControllerWithIdentifier:@"SuccessOrFailViewController"];
[sfvc setModalPresentationStyle:UIModalPresentationFullScreen];
[self presentViewController:sfvc animated:YES completion:nil];

Ответ 5

У меня это произошло после добавления и удаления View Controllers в Storyboard и забывания обновить View Viewer с помощью последнего идентификатора Storyboard.

Например, если вы программно переходите к новому контроллеру представления, как это (обратите внимание, что идентификатор в коде "FirstUserVC" ):

let firstLaunch = (storyboard?.instantiateViewControllerWithIdentifier("FirstUserVC"))! as UIViewController
self.navigationController?.pushViewController(firstLaunch, animated: true)

Убедитесь, что в Interface Builder у вас есть идентификатор раскадровки, подобный этому, с FirstUserVC, указанным в идентификаторе идентификатора раскадровки: введите описание изображения здесь