关于两个tabbar之见的跳转

最近项目需要,我们需要使用两个tabbar,因为之前一直是使用单个tabbar,突然来了两个tabbar,我有点没有思路了.

特别是关于两个tabbar之见的跳转,我在网上查了一下,发现资料非常少.后来经过一番苦思冥想,终于找到解决方法了.

我是这样解决的,就是在ATabBar中写了一个UIButton,然后通过Push跳转到第二个BTabBar页面上,

- (void)viewDidLoad

{

[super
viewDidLoad];

self.navigationItem.title =
@"首页";

//在ATabBar中写了一个UIButton

UIButton * button = [UIButton
buttonWithType:UIButtonTypeSystem];

button.frame =
CGRectMake(100,
100, 100,
100);

[button setTitle:@"明星"
forState:UIControlStateNormal];

[button addTarget:self
action:@selector(didClickButtonAction)
forControlEvents:UIControlEventTouchUpInside];

[self.view
addSubview:button];

}

- (void)didClickButtonAction

{

//第二个BTabBar

StarTabBarViewController * starTabBar = [[StarTabBarViewController
alloc]init];

//隐藏tarBar

self.tabBarController.tabBar.hidden
= YES;

//隐藏导航栏

self.navigationController.navigationBarHidden =
YES;

[self.navigationController
pushViewController:starTabBar
animated:NO];

}

其中,因为第二个BTabBar上面也有TabBar,也有导航栏,所以我们需要把第一个TabBar的导航条跟TabBar隐藏了.

当我完成这一步,我发现问题来了,我回不去了,我pop回不到第一个ATabBar了.

这个时候,我尝试各种pop方法,但是回不去,后来我好好整理了一下思路,发现Push的是starTabBar,
那么pop回去的也应该是starTabBar,而不是我们常见的

[self.navigationController
popToRootViewControllerAnimated:YES];(这样是错误的)

正确的写法是:

UIBarButtonItem * leftItem = [[UIBarButtonItem
alloc]initWithTitle:@"返回"
style:UIBarButtonItemStylePlain
target:self
action:@selector(didClickLeftItemAction)];

self.navigationItem.leftBarButtonItem = leftItem;

- (void)didClickLeftItemAction

{

[self.tabBarController.navigationController
popToRootViewControllerAnimated:YES];(这样才正确)

}

好吧,我解决问题了,希望能给大家带来帮助.

时间: 2024-08-28 15:04:59

关于两个tabbar之见的跳转的相关文章

iOS自定义tabbar后popToRootViewContriller和poptoviewcontroller时出现两个tabbar 的解决办法

iOS自定义tabbar后popToRootViewContriller和poptoviewcontroller时出现两个tabbar  的解决办法 问题:iOS自定义tabbar后popToRootViewContriller和poptoviewcontroller时出现两个tabbar 1.自定义代码: - (void)viewWillAppear:(BOOL)animated { [super  viewWillAppear:animated]; // 删除系统自动生成的UITabBarB

[IOS 实现TabBar在Push后的隐藏 以及 两级Tabbar的切换]

翻了好多网页都没找到资料,自己试了下终于成功了,遂分享一下. 1.实现TabBar在Push后的隐藏 假如结构是这样 NavController->A->B,我们想要实现在A里有Tabbar,Push到B后Tabbar消失(参考淘宝首页点击任何广告页面后Push,底部Tabbar消失) 在A中创建B时 DetailinfoViewController *detailinfo=[[DetailinfoViewController alloc]init]; detailinfo.hidesBott

系统tabbar出现两个tabbar的问题解决方案。

先说说咋出来的, 扫描二维码成功后点击添加设备,直接pop to rootview    tabbar这个界面出现了如下问题 一开始觉得是扫描的时候出的问题, 查来查去发现界面一个个的返回不会出现问题, 如果两个界面以上在返回就出现这个问题.具体原因我没有深究, 无非就是苹果把系统自带的tabbar 给搞出来了, 那好我们直接上代码干掉苹果给我们 弄出来的tabbabr. 如下代码直接添加到这个vc中. -(void)viewWillLayoutSubviews{ [super viewWill

android,两个活动页面之间的跳转

public class Intent1Activity extends Activity { private Button btn = null; private TextView tv = null; //还是用个变量比较好,原因在于你这个页面可能有两个button都是转到别的页面 //回调的时候你必须要根据这个来判断的,直接写数字别人不易理解 private final int REQUEST_CODE = 1; @Override protected void onCreate(Bund

两个页面之间的动画跳转。

接触到了两个页面之间的跳转带动画的.效果还不错. 一,先上项目总体图. 二,上代码. AppDelegate.m文件 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; /

分享两个靠谱的微信跳转浏览器下载app的接口

很多人会遇到微信内访问转发分享来的链接提示已停止访问的情况.这是说明微信已经拦截你的网页,基本是无法再恢复访问了. 那么当我们遇到以上情况的时候怎么办呢?如果想恢复微信内直接打开基本是不可能的,因为为什么被封大家心里都清楚的,我就不多说了.但我们可以做二次跳转打开,给大家整理了几个我们用过的两个免费测试接口. A. 366api B. mindjump 以上2个接口我们几个不同的项目组都使用过,觉得还不错所以分享给大家,希望能帮到你.下面是一组我们用过后的效果图供大家参参考. 苹果手机微信跳转效

iOS两个App应用之间的跳转

https://my.oschina.net/u/1440723/blog/361939

两个iOS应用之间的跳转

http://my.oschina.net/u/1440723/blog/361939

微信小程序 从含有tabbar的页面跳转到不含有tabbar的页面

如何离开含有tabbar的页面 在微信小程序开发过程中,我们会碰到从某页跳转到一个含有tabbar的页面的需求, 用 wx.navigateTo({url: '...',})  不起作用,需要使用 wx.switchTab({url: '...',}) 来实现. 那么,我们反过来,如何从含有tabbar的页面跳转到一个不含有/隐藏了tabbar的页面呢? 在尝试了上述的两个API后发现不起作用,wx.switchTab({url: '...',}) 倒是可以在有tabbar的页面之间跳转,但无法