- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我编写了一个选项卡栏应用程序,其中第一个选项卡上有一个带有导航 Controller 的表格 View 。
每次我选择一行时,tableviewController 都会被推送。这是服务器上的远程目录,例如/目录1
当从第二个选项卡中选择不同的根目录(例如/dir2)时,当我转到第一个选项卡时,我想将所有 Controller 从堆栈中弹出,并使用/dir2 的内容重新加载 TableView 。这就是我所做的
- (void)viewWillAppear:(BOOL)animated
{
[[self navigationController] popToRootViewControllerAnimated:NO];
[self initFirstLevel]; // This loads the data.
[self.tableView reloadData];
}
发生的情况是 tableviewControllers 从堆栈中弹出并返回到 rootViewController,但/dir2 的内容不会加载到 TableView 中。
最佳答案
当您调用
[[self navigationController] popToRootViewControllerAnimated:NO];
navigationController会尝试弹出所有 View Controller 并显示topview Controller ,以下代码将不会被调用。
您应该考虑处理 topViewController 的 viewWillAppear 方法以进行任何修改和重新加载数据。
这是一个示例,说明您可以在示例应用程序 iPhoneCoreDataRecipes 上使用 viewWillAppear 执行哪些操作该示例应用程序将为您提供 View Controller 生命周期等的概述...
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[photoButton setImage:recipe.thumbnailImage forState:UIControlStateNormal];
self.navigationItem.title = recipe.name;
nameTextField.text = recipe.name;
overviewTextField.text = recipe.overview;
prepTimeTextField.text = recipe.prepTime;
[self updatePhotoButton];
/*
Create a mutable array that contains the recipe's ingredients ordered by displayOrder.
The table view uses this array to display the ingredients.
Core Data relationships are represented by sets, so have no inherent order. Order is "imposed" using the displayOrder attribute, but it would be inefficient to create and sort a new array each time the ingredients section had to be laid out or updated.
*/
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"displayOrder" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:&sortDescriptor count:1];
NSMutableArray *sortedIngredients = [[NSMutableArray alloc] initWithArray:[recipe.ingredients allObjects]];
[sortedIngredients sortUsingDescriptors:sortDescriptors];
self.ingredients = sortedIngredients;
[sortDescriptor release];
[sortDescriptors release];
[sortedIngredients release];
// Update recipe type and ingredients on return.
[self.tableView reloadData];
}
关于iphone - popToRootViewControllerAnimated 和 reloadData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2419326/
我有一个 UITabBarController,其选项卡是 UINavigationController。我已经通过以下方式初始化了每个导航 Controller : iPhoneApp *appD
我的应用程序包含一些 UIViewControllers。第一个是登录页面,第二个是“菜单页面”,第三个是 viewController。 我在每个页面的按钮上放置了一个注销功能,带有如下所示的 al
我有 View A、 View B 和 View C。我已从 View A 推送 View B,并从 View B 推送 View C。 当用户点击 View C 中的后退按钮时,我调用 popToR
我在尝试切换到另一个 VC 时遇到了崩溃。这是结构: TabBarController [主页、Tab2、结果选项卡] 从这些选项卡中,我可以推送一个名为 addVC 的新 viewControlle
我的应用程序中有一个通过单击按钮启动的数据下载过程。该操作发生在后台线程上,因此用户可以自由导航到其他 View 并按照自己的喜好进行操作。 下载完成后,系统会向用户显示警告,提示应用需要重新加载。单
我在我的应用程序中使用 navigationController。在我推送并弹出 View Controller 3 次后,我的应用程序因内存不足而崩溃。这是我的代码。 - (BOOL)applica
在我的 StoryBoard 中,我将 Root View Controller 嵌入到导航 Controller 中,该 View 在应用程序启动时显示。然后用户浏览一系列 View ,这些 Vie
我有两个 View ,一个是 Root View Controller ,另一个是搜索 View Controller 。当我在搜索 viewController 的 UISearchBar 上单击取
我正在制作我的 SpriteKit 游戏。当玩家死亡时,我的目标是让游戏转换回开始屏幕。这是通过下面的代码完成的。但是,我注意到每次新游戏开始时内存都会增加。 Xcode Instruments 没有
我有一个 UINavigationController,它要求提供一些信息,并且用户导航直到最后,一旦到达那里,他们就可以接受或取消已输入的所有数据。 他们选择哪个选项并不重要,因为他们总是会使用 进
我编写了一个选项卡栏应用程序,其中第一个选项卡上有一个带有导航 Controller 的表格 View 。 每次我选择一行时,tableviewController 都会被推送。这是服务器上的远程目录
我正在尝试在 iOS 应用程序中实现标签栏: 但是当用户选项卡第 1 项时,我需要释放第二个 viewController。 我设置 UITabBarControllerDelegate - (voi
我无法让 [self.navigationController popToRootViewControllerAnimated:YES]; 工作(无法让我的任何应用程序返回主屏幕)。我尝试创建一个新的
我正在开发一个带有嵌入式导航 Controller 和 UIViewController 的 UITableView 的小型 CoreData 程序,在其中添加 CoreData。 问题是我不知道如何
当我使用该功能时,我被发送回我的 RootViewController,但我的导航栏消失了。当我第一次运行该应用程序时,我的导航栏按预期工作,但是当我登录然后注销时,导航栏消失了。我正在使用顶部栏“推
在我的非根 VC 类中,我有以下 doLogout 方法: - (void)doLogout { SDPAppDelegate *app = [self getAppDelegate];
我想使用 popViewControllerAnimated 而不是 popToRootViewControllerAnimated 来移动到 Root View 。我不想直接移动到 Root Vie
我在 Xcode 6 的 iOS 8 中遇到一个错误。 就是这个场景。 XCode 6 创建新项目“Master-Detail Application” 现在我只是详细地添加了一个按钮,并在其点击事件
我已经实现了一个自定义委托(delegate)方法,如果一些数据从服务器到达,它应该弹出 Root View Controller 。通过单击子 Controller 中的后退按钮,第一种方法 bac
我正在调用 presentModalViewController 的应用程序一旦完成(调用 dismissModalViewControllerAnimated:YES )它应该立即调用 popToR
我是一名优秀的程序员,十分优秀!