我在xcode中使用presentViewController
并且不确定应该完成什么。
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#>];
应该完成什么?
答案 0 :(得分:41)
您可以改用以下代码:
[self presentViewController:second animated:YES completion:^{ }];
或者你可以简单地传递NULL
[self presentViewController:second animated:YES completion:NULL];
完成块用于在呈现视图控制器之后执行任何任务,完成块内部写入的代码将仅在呈现视图后执行。
答案 1 :(得分:17)
@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];
答案 2 :(得分:2)
您可以使用以下代码来展示视图
[[self navigationController] dismissViewControllerAnimated:YES completion:NULL];
以下是该
的代码SecondViewController *second = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
[self presentViewController:second animated:YES completion:nil];
有关详细信息,请查看apple forum discussion
答案 3 :(得分:1)
Swift 2.0
完成处理
// Added ORecord type parameter
node.elements().asScala.foreach{ node => db.save[ORecord](
toODocumentValue(node).asInstanceOf[ODocument] ) }
或在完成时不执行任何操作
viewController.presentViewController(anotherViewController, animated: true, completion: {
// Whatever you'd like to do when presentViewController completes :)
})