IP防水材料试验有哪些试验设备有哪些

如何在viewController里调用到tabBarController的属性 - 简书
如何在viewController里调用到tabBarController的属性
有时候我们需要创建一个tabBarViewController来管理整个程序,又创建子viewController,那么怎么在子viewController里调用到tabBarViewController里的属性呢?首先在子viewController里创建一个属性
这样就可以取到你的tabBarController了应用
这句话的意思是当前选中的tabbarItem是第1个
都是自己的一些笔记,词汇不华丽,不要介意自定义Tabbar,present新视图在dismiss回去的时候,出现问题_ios8吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:237,880贴子:
自定义Tabbar,present新视图在dismiss回去的时候,出现问题收藏
问题是这样的:我在】选择页面】中选择了一个cell,如果没有登录会present一个【登录页面】出来,在登录界面点击【登录】按钮,那么【登录页面】dismiss回到原来的【选择界面】。这里问题就出现了-----没有登录的页面是没有Tabbar的,因为我在本页面的ViewWillApper上将Tabbar隐藏了,但是,我登录dismiss回到该页面后,Tabbar又出现了。死都弄不好!大家有什么好的建议吗???我有隐藏自定义的Tabbar,而且系统的已经隐藏了,所以不存在Tabbar没有隐藏的原因。我自己觉得是又创建了新的Tabbar,但是又觉得不是。但是就是找不到为什么Tabbar会显示的原因图如下图所示,大家帮帮忙,谢谢
上海洪庙文艺家具厂—专业实木家具定制厂家,设计制作一站式服务,省心放心!
这个问题咋解决的啊。。。。。。
你可以push过去试试。我看大图,也是和你一样模态过去,回来时tabbar会出现。
求快把,i我带走q;
楼主 解决了没
那个是我在viewWillAppear方法里面忘了取消方法了
请问楼主的问题是如何解决的?我现在也遇到了同样的问题
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或viewWillDisappear,viewWillAppear不调用的解决方法(转)
产生原因是用了UINavigationController.&
将UINavigationController的view作为subview添加到了其他viewController的view中。&
或者把UINavigationController添加到UITabbarController中了。&
此时,NavigationController的stack里面的viewController就收不到-(void)viewWillAppear:(BOOL)animated;等4个方法的调用。&
原因还不敢确定,应该是这样的结构破坏了消息的响应链。导航控制器上层的viewController只是接受了导航控制器的view,而不是controller.
估计tabbarController内部也是处理了set进去的controller的view。&
网上找了一些解决办法,但是有些只解决了Appear的方法调用,没有解决DisAppear的调用,最终找到了最好的一个解决办法,完美解决了Appear和DisAppear的调用。&
首先要实现一个UITabBarController的子类。并且实现UINavigationControllerDelegate&
-&(void)viewDidLoad&&
&&&&FirstViewController&*firstViewController&=&[[FirstViewController&alloc]init];&&
&&&&SecondViewController&*secondViewController&=&[[SecondViewController&alloc]init];&&
&&&&ThirdViewController&*thirdViewController&=&[[ThirdViewController&alloc]init];&&
&&&&FourthViewController&*fourthViewController&=&[[FourthViewController&alloc]init];&&
&&&&FifthViewController&*fifthViewController&=&[[FifthViewController&alloc]init];&&
&&&&firstViewController.delegate&=&&&
&&&&secondViewController.delegate&=&&&
&&&&thirdViewController.delegate&=&&&
&&&&fourthViewController.delegate&=&&&
&&&&fifthViewController.delegate&=&&&
&&&&NSArray&*viewControllerArray&=&[NSArray&arrayWithObjects:firstViewController,secondViewController,thirdViewController,fourthViewController,fifthViewController,nil];&&&
&&&&self.viewControllers&=&viewControllerA&&
&&&&[self.view&setFrame:CGRectMake(0,&0,&320,&460)];&&
&&&&[super&viewDidLoad];&&
&&&&//&Do&any&additional&setup&after&loading&the&view&from&its&nib.&&
以上FirstViewController到FifthViewController都是UINavigationController的子类。&
将delegate指向self。&
然后实现UINavigationControllerDelegate:&
-&(void)navigationController:(UINavigationController&*)navigationController&willShowViewController:(UIViewController&*)viewController&animated:(BOOL)animated&&
&&&&//每次当navigation中的界面切换,设为空。本次赋值只在程序初始化时执行一次&&
&&&&static&UIViewController&*lastController&=&&&
&&&&//若上个view不为空&&
&&&&if&(lastController&!=&nil)&&&
&&&&&&&&//若该实例实现了viewWillDisappear方法,则调用&&
&&&&&&&&if&([lastController&respondsToSelector:@selector(viewWillDisappear:)])&&&
&&&&&&&&{&&
&&&&&&&&&&&&[lastController&viewWillDisappear:animated];&&
&&&&&&&&}&&
&&&&//将当前要显示的view设置为lastController,在下次view切换调用本方法时,会执行viewWillDisappear&&
&&&&lastController&=&viewC&&
&&&&[viewController&viewWillAppear:animated];&&
这个方法是重点&
static&UIViewController&*lastController&=&&&
静态变量只在程序初始化的时候执行一次,也就是赋值为nil。&
lastController指向的是新的界面要显示却还未显示的当前界面。&
举例子来说 ,如果navigation当前显示的是A,现在要push到B。因此在push
B之前,lastController指向的是A&
//若上个view不为空&&
&&&&if&(lastController&!=&nil)&&&
&&&&&&&&//若该实例实现了viewWillDisappear方法,则调用&&
&&&&&&&&if&([lastController&respondsToSelector:@selector(viewWillDisappear:)])&&&
&&&&&&&&{&&
&&&&&&&&&&&&[lastController&viewWillDisappear:animated];&&
&&&&&&&&}&&
像上边说的,lastController这时为A,因此不为nil,将执行A的viewWillDisappear。&
lastController&=&viewC&&
&[viewController&viewWillAppear:animated];&&
在执行了A的viewWillDisappear之后,将lastController设为B(当前viewController),然后调用B的viewWillAppear。&
本次方法执行结束了,如果navigation再push到C的时候,那么B的viewWillDisappear会执行,C的viewWillAppear会执行。这样就完美解决了viewWillAppear等4个方法不调用的问题。&
如果想实现viewDidAppear和viewDidDisAppear方法,则只需按照同样道理,实现UINavigationControllerDelegate
- (void)navigationController:(UINavigationController
*)navigationController didShowViewController:(UIViewController
*)viewController
animated:(BOOL)&
方法就行了&
/blog/1433313
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。8809人阅读
IOS开发(54)
转载地址:/yeagen/archive//2388151.html
如果你的程序界面如上图所示的这个样子,那么你一定是同时使用了UITabBarController以及UINavigationController吧。
再如果,你希望实现这样子的效果:
1。用户起初在“分类”这个视图里面查看了一些菜系,
2。然后他点击了“搜索”Tab,又在里面看了一些搜索出来的菜谱,
3。再然后当他准备回到“分类”这个视图的时候,事实上用户心里是希望回到“分类”这个视图的根视图,在那里重新选择分类,进入分类再看菜谱。但是iPhone默认是记忆用户之前在第一步里面的那个视图的,不会自动回到根视图。
解决办法是将这个
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
viewController popToRootViewControllerAnimated:YES];
添加到AppDelegate.m文件中。一般人都是这么做的。
其实在这里隐藏着一个问题,如果如图所示你的4个TabBar都是指向4个NavigationController,那么没有问题,运行OK。
但如果你的4个TabBar有任何一个指向的不是NavigationController,那么程序就会crash。因为非NavigationController不能够响应 popToRootViewControllerAnimated: 方法。
我的第4个TabBar指向的是一个ViewController,程序运行之后一点击第4个TabBar就崩溃,自己也只是在ViewController和IB里面仔细找错误,浪费了很多时间。
下面贴出更加安全的方法,把上面的那段代码改成这样子:
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
if ([viewController isKindOfClass:[UINavigationController class]]) {
[(UINavigationController *)viewController popToRootViewControllerAnimated:YES];
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:219328次
积分:2448
积分:2448
排名:第12991名
原创:51篇
转载:14篇
评论:32条
(2)(1)(3)(1)(1)(1)(2)(2)(2)(1)(1)(1)(3)(5)(3)(1)(2)(2)(2)(2)(3)(6)(3)(1)(2)(1)(2)(2)(1)(5)(2)}

我要回帖

更多关于 防水材料试验有哪些 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信