【发布时间】:2011-10-06 14:04:39
【问题描述】:
我的应用是基于视图的应用。我做了一个登录视图,如果用户输入正确的用户名和密码,我会进入主菜单,这是一个像这样的 UITabViewController:
MainMenuController *mainMenu = [[[MainMenuController alloc] init] autorelease];
[mainMenu setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
[self presentModalViewController:mainMenu animated:YES];
mainMenu 有 4 个标签,名称分别为:菜单、历史记录、设置、音乐。
当我单击选项卡时,应调用附加该选项卡的视图 viewWillAppear。但它不调用任何选项卡的 viewWillAppear 。在菜单选项卡中,当单击这样的按钮时,我正在生成一个 tableView:
[self presentModalViewController:sel animated:YES];
当点击表格的任何一行时,我称之为:
[self dismissModalViewControllerAnimated:YES];
这样表格视图就消失了。奇怪的是,完成此操作后,会为附加到选项卡栏的每个视图调用 viewWillAppear。然后,当我在标签栏视图之间切换时,每个视图的 viewWillAppear 都会被调用。为什么会这样?是否有任何方法可以调用附加 TabBarController 的每个视图的 viewWillAppear 而不调用新的 tableView?提前致谢
【问题讨论】:
-
你为什么要以模态方式展示你的 TabViewController?
-
我必须做一些设置。该表视图的每一行都设置了一些东西。但问题是 viewWillAppear 为每个附加了 TabBarController 的视图在该表视图被关闭时被调用。为什么在 tableView 呈现和关闭之前没有调用它们。
-
忘掉那个tableView吧。我写这个是因为在 tableView 出现和关闭之后,每个视图的 viewWillAppear 都会被调用。
标签: iphone ios uitabbarcontroller uitabbar presentmodalviewcontroller