iphone - 使用等待对话框导航到另一个 ViewController

标签 iphone objective-c ios

我正在尝试使用 MBProgressHUD 在我的应用程序中使用等待对话框.

我的应用程序中有一个按钮。当用户点击它时,我们导航到另一个 viewController:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
ViewController2 *yourViewController = (ViewController2 *)[storyboard instantiateViewControllerWithIdentifier:@"FavoritePage"];
[self.navigationController pushViewController:yourViewController animated:YES];

如您所知,它也可以从 interface builder 中设置。

问题是下一页加载需要一段时间,我想在此期间显示一个等待对话框:

- (IBAction)navigation:(id)sender {
    [MBProgressHUD showHUDAddedTo:self.view animated:YES];

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
    ViewController2 *yourViewController = (ViewController2 *)[storyboard instantiateViewControllerWithIdentifier:@"FavoritePage"];
    [self.navigationController pushViewController:yourViewController animated:YES];
}

但它不起作用。

当我删除与导航相关的代码时,只使用它:

[MBProgressHUD showHUDAddedTo:self.view animated:YES];

等待对话框出现,但是当我使用导航代码和这一行时,等待对话框不显示并且导航正常。

如何让它们协同工作?

只是想添加它来隐藏等待对话框,我也有这个:

- (void) viewDidDisappear:(BOOL)animated {
    [MBProgressHUD hideHUDForView:self.view animated:YES];
}

最佳答案

代替,

- (IBAction)navigation:(id)sender {
    [MBProgressHUD showHUDAddedTo:self.view animated:YES];

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
    ViewController2 *yourViewController = (ViewController2 *)[storyboard instantiateViewControllerWithIdentifier:@"FavoritePage"];
    [self.navigationController pushViewController:yourViewController animated:YES];
}

尝试,

- (IBAction)navigation:(id)sender {
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
    ViewController2 *yourViewController = (ViewController2 *)[storyboard instantiateViewControllerWithIdentifier:@"FavoritePage"];
    [self.navigationController pushViewController:yourViewController animated:YES];
    [MBProgressHUD showHUDAddedTo:self.navigationController.view  animated:YES];
}

否则,您需要在ViewController2viewWillAppear 方法中添加showHUDAddedTo 方法。

关于iphone - 使用等待对话框导航到另一个 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13020274/

相关文章:

iphone - 处理 MKMapView 上的 MKAnnotations 时速度变慢

objective-c - UIImageView、CGImage 和 Retina Art

objective-c - 使用 NSUserDefaults 从父级获取数据到 WatchKit

ios - 单击时 YTPlayerView 不播放视频

android - 响应式网页设计有必要吗?

iphone - 从 GPS 获取每个位置更新

iphone - 如何禁用表格 View 中的表格单元格?

objective-c - 我们可以只提供@2x 图片吗?

ios - 在 Swift 中将 AnyObject 添加到 NSMutableArray

ios - 您可以异步分派(dispatch)非转义闭包函数吗?