作者guninia (努力工作赚钱)
看板MacDev
标题Re: [问题] navigation + tabbar
时间Tue Oct 1 10:24:32 2013
※ 引述《issuemylove (skill)》之铭言:
: 各位大大好
: 想请问 navigation + tabbar 的情况下
: 我想要 navigation bar 上增加 subview
: 我看范例是在 tab item 对应的 view controller 上写下
: self.tabBarController.navigationController.navigation addSubView: myView];
: 即可增加 subview
: 可是我怎样都试不出来呀QQ...
: 一直都没有 view 产生 也没 error message
: 还是我有甚麽先决条件没看到吗?
: 谢谢!
tabBarController跟navigationController结合的方式有两种,
第一种是以UITabBarController控管UINavigationController:
UIViewController设定为UINavigationController的rootViewController,
然後以NSArray包装数个UINavigationController後,
再用[tabBarController setViewControllers:array animated:animatedOrNot],
这样的方式结合。
如此状况下想要在navigationBar上面新增物件,
那麽就在当前的UIViewController下:
self.navigationItem
或是
self.navigationController.navigationBar
就可以操作到当前画面上的navigationBar了。
第二种是以UINavigationController控管UITabBarController:
以NSArray包装数个UIViewController後,
再用[tabBarController setViewControllers:array animated:animatedOrNot],
然後再将tabBarController设定为navigationController的rootViewController。
这样的情况下,
self.tabBarController.navigationItem
或是
self.tabBarController.navigationController.navigationBar
应该可以操作到当前画面上的navigationBar。
另外,你也可以检查你要显示的navigationController是不是你要的那ㄧ个。
我会在我想像中的那个navigationController在alloc init之後,
用
NSLog(@"navigationController[%p] allocated and init", navigationController);
去印出这个navigationController的指标位置,
然後再到你取用这个navigationController的地方,
NSLog(@"navigationController[%p]", self.xxxxxx.navigationController);
去印出这个navigationController的指标位置,并比对两者是否相同。
「xxxxxx」根据你建立navigationController的结构(如上面两种所述)会有不同。
以上供您参考。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.133.47.18
1F:推 ahchie:推~ 10/01 11:02
2F:推 xyziscariot:好文!不推不行~ 10/01 11:41
3F:推 xu35p4jo6:推~ 10/01 11:49
4F:推 issuemylove:猛啊 推一个QQ 10/02 18:26
5F:→ tom19830924:虽然有点马後炮 不过还是说一下 其实拉一拉storyboard 10/04 11:00
6F:→ tom19830924:就可以用图形式来了解他在讲啥 10/04 11:01
7F:→ tom19830924:一是用NavCtr然後rootView设TabBarCtr 在对TabBarCtr 10/04 11:02
8F:→ tom19830924:分别拉各个ViewCtr 10/04 11:03
9F:→ tom19830924:另一种就是先拉TabBarCtr出来 然後在拉NavCtr 然後 10/04 11:04
10F:→ tom19830924:NavCtr的rootView设ViewCtr 然後再把TabBarCtr连到 10/04 11:05
11F:→ tom19830924:NavBarCtr去 重复动作 10/04 11:06
12F:→ tom19830924:这也是为啥我喜欢storyboard的原因 很直觉就完成 10/04 11:06