Closed SabinLee closed 6 years ago
在你的 vc 中重写 rt_customBackBarButtonItem 方法就好,不需要继承此类。
另外,使用 0.6.x 版,0.7 目前有问题
rt_customBackBarButtonItem
您好! 我现在在tabbar控制器初始化时不使用我继承的导航vc, 而直接使用RTRootNavVC, 在个人中心首页使用rt_customBackBarButtonItem 仍然不起作用, 但是在个人中心点击push后的页面就生效, 也就是栈底控制器总是不生效, 这是为什么呢? 相关代码如下:
//初始化tabbarVC
[tabbarVC addChildViewControllerWithChildVC:[[RTRootNavigationController alloc] initWithRootViewController:[[PersonalViewController alloc] init]] title:@"我的" normalImage:@"personal_normal" selectedImage:@"personal_selected"];
//PersonalViewController内部: (实现方法, 左上角无按钮)
-(UIBarButtonItem *)rt_customBackItemWithTarget:(id)target action:(SEL)action{
UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 40, 40)];
btn.backgroundColor = [UIColor redColor];
return [[UIBarButtonItem alloc] initWithCustomView:btn];
}
//PersonalViewController内, [self.navvc pushvc1], vc1内实现方法, 左上角有红色按钮
在你的 vc 中重写 rt_customBackBarButtonItem 方法就好,不需要继承此类。
另外,使用 0.6.x 版,0.7 目前有问题
麻烦回复一下, 谢谢了, 而且我目前是换了0.67版本
@rickytan 能看见我的@吗?
addChildViewControllerWithChildVC:
这个方法你自己的?使用
tabbarVC.viewControllers = @[vc];
addChildViewControllerWithChildVC:
这个方法你自己的?使用tabbarVC.viewControllers = @[vc];
经测试, 也加不上. 目前发现只发现一个能给栈底控制器加返回按钮的方法 还有个疑问就是, 如果不继承自rt导航控制器, 如何统一添加管理返回按钮和返回手势?难道每个vc都写一遍吗或者要普通vc来继承一个基类?
有没有设置 useSystemBack ?
useSystemBack
没有,从头到尾就没用这个属性
demo 程序跑起来没问题吧,对比下吧。没有你的代码只能盲猜
demo 程序跑起来没问题吧,对比下吧。没有你的代码只能盲猜
demo是没问题的, 而且demo里面也没有这种尝试. 所以我一直在问的两个问题就是 1.如何给栈底控制器加自定义返回按钮?(我只有一个可行的方法, 在上面的截图) 2.如何统一管理这个返回按钮, 比如我每次push进去就设置一个默认的自定义返回按钮(我现在是用继承, 拦截push) 能回答我一下吗
第一个问题,你指的是 navigation 中的第一个 VC ?它为什么要加返回按钮?这种情况你只能自己设置一个 leftBarButtonItem
第二个问题,在 UIViewController
的任何 category 中实现 rt_customBackBarButtonItem
方法即可。你这里不生效的话,放个 demo 上来,感觉是层级关系或者使用方式不太对
第一个问题,你指的是 navigation 中的第一个 VC ?它为什么要加返回按钮?这种情况你只能自己设置一个 leftBarButtonItem 第二个问题,在
UIViewController
的任何 category 中实现rt_customBackBarButtonItem
方法即可。你这里不生效的话,放个 demo 上来,感觉是层级关系或者使用方式不太对
OK, 没有其他问题了,感谢指教!
我有一个自定义导航控制器继承自RTRootNavigationController, 现在我的需求是导航控制器initWithRootVC后左上角自动加一个返回按钮, 我在我继承的这个vc是这样写的
但是左上角返回按钮没加上, 我看了一下, super里面是有个判断, 难道我就不能在navVC初始化并首次push的时候给vc添加返回吗?