如何使用tabbar和navigationController时调用viewWillAppear

原创 2011年03月16日 17:01:00

采用如下方式:

App—>RootViewController—>UINavigationController—>UIViewController

发现UIViewController接收不到viewWillAppear相关的四个函数。

经过多次试验,发现如下方法,可以解决:

在RootViewController的Init中加入如下代码(红色字体)

tabBarController.viewControllers = [NSArray arrayWithObjects:tabNav1,tabNav2, nil];
self.tabBarController.selectedViewController = tabNav1;

同时添加:

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    [self.tabBarController.selectedViewController viewWillAppear:animated];
}

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
    [viewController viewWillAppear:NO];
}

 

为什么没有调用,可参考:

http://www.cocoachina.com/bbs/simple/?t23256.html

细细品味ASP.NET (二)

细细品味ASP.NET (二)青苹果工作室(编译) 01-5-17 下午 01:33:55Web表单 ASP.NET Web Forms就是Web页面,同现在你用 ASP编写代码所做的工作是一样的。...
  • tchaikov
  • tchaikov
  • 2001-05-17 18:50:00
  • 982

iOS开发——使用Navigation和TabBar构造App框架与界面栈的重构

对于iOS开发来说,Navigation和TabBar是最常用到的界面元素。我在前面几篇博客中《iOS开发——代码生成TabBar与视图切换详解》《iOS纯代码实现界面建立、跳转、导航栏(无story...
  • CHENYUFENG1991
  • CHENYUFENG1991
  • 2016-04-29 12:46:08
  • 4765

viewWillDisappear,viewWillAppear不调用的解决方法

产生原因是用了UINavigationController.  将UINavigationController的view作为subview添加到了其他viewController的view中...
  • u011374880
  • u011374880
  • 2016-03-10 14:44:19
  • 3283

在POP回来的控制器上刷新数据的简单方法

通过POP切换到控制器,并刷新控制器数据的常规方法一般是通过通知,代理,但方法都过于繁琐,可以利用此方法简单的实现此功能。 因为POP回来的时候不会执行- (void)viewDidLo...
  • mdjwanghong
  • mdjwanghong
  • 2016-09-24 12:58:03
  • 1193

iphone开发之解决viewWillAppear失效

你可曾遇到过viewWillAppear没有被调用到的情况产生原因是用了UINavigationController.  将UINavigationController的view作为subview添...
  • ArthurChenJS
  • ArthurChenJS
  • 2011-04-24 11:51:00
  • 8314

popViewControllerAnimated时未调用viewWillAppear问题

[self.navigationController viewWillAppear:YES]; [self.navigationController popViewController...
  • NOHACKCCC
  • NOHACKCCC
  • 2014-05-17 17:15:57
  • 1451

让viewDidAppear/viewWillAppear 在push/pop页面加载前始终调用

让viewDidAppear/viewWillAppear 在页面加载前始终调用 viewDidAppear/viewWillAppear in UINavigationController not ...
  • diyagoanyhacker
  • diyagoanyhacker
  • 2011-07-12 17:31:10
  • 4138

如何使用tabbar和navigationController时调用viewWillAppear

采用如下方式: App—>RootViewController—>UINavigationController—>UIViewController 发现UIViewController接收不到vi...
  • dragoncheng
  • dragoncheng
  • 2011-03-16 17:01:00
  • 5474

iOS 删除系统自带的tabbar

一、删除系统自带的tabbar 在开发中,我们时常会需要自己定义tabbar,使用自定义tabbar时,返回或者跳转时会遇到tabbar重影的现象,这个时候我们需要将系统的tabbar // 实现...
  • zcl_666
  • zcl_666
  • 2017-07-21 17:59:26
  • 1153

IOS tabbar的显示与隐藏

1.显示tabbar - (void)hideTabBar { if (self.tabBarController.tabBar.hidden == YES) { retur...
  • mxdhqm
  • mxdhqm
  • 2015-06-07 08:36:42
  • 287
收藏助手
不良信息举报
您举报文章:如何使用tabbar和navigationController时调用viewWillAppear
举报原因:
原因补充:

(最多只允许输入30个字)