Что должно завершиться в presentViewController?
Я использую presentViewController
в xcode и не уверен, что должно завершиться.
Код, указанный в документации по xcode:
- (void)presentViewController:(UIViewController *)viewControllerToPresent animated: (BOOL)flag completion:(void (^)(void))completion NS_AVAILABLE_IOS(5_0);
Пример, который я использую:
[self presentViewController:second animated:YES completion:<#^(void)completion#>];
Что должно завершиться?
Ответы
Ответ 1
Вместо этого вы можете использовать следующий код:
[self presentViewController:second animated:YES completion:^{ }];
или вы можете просто передать NULL
[self presentViewController:second animated:YES completion:NULL];
Блок завершения используется для выполнения любых задач после представления контроллера представления, код, записанный внутри блока завершения, будет выполняться только после представления представления.
Ответ 2
@try this
[self presentViewController:second animated:YES completion:^{[self animationCompleted];}];
-(void)animationCompleted{
// Whatever you want to do after finish animation
NSLog(@"Animation Completed")
}
если вы не хотите ничего делать по завершении анимации
[self presentViewController:second animated:YES completion:NULL];
Ответ 3
Вы можете использовать следующий код для представления представления
[[self navigationController] dismissViewControllerAnimated:YES completion:NULL];
Ниже приведен код для
SecondViewController *second = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
[self presentViewController:second animated:YES completion:nil];
Подробнее читайте в разделе обсуждения
Ответ 4
Swift 2.0
Обработать что-то по завершении
viewController.presentViewController(anotherViewController, animated: true, completion: {
// Whatever you'd like to do when presentViewController completes :)
})
Или ничего не делать по завершении
viewController.presentViewController(anotherViewController, animated: true, completion: nil)