iOS 怎么选择跳转到tabbar的哪个navi上

 我来答
趣机妹纸_枫岚
2015-06-13 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1.1万
采纳率:0%
帮助的人:6552万
展开全部
简单实现方法:你的项目建立在tabbarcontroller的基础上。
在appdelegate的

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
方法中,使用

[self.tabBarController presentModalViewController:loginNC animated:NO];
这样,你打开程序,首先显示的登陆页面,点击登陆,在登陆的事件中加上下述代码

[self dismissModalViewControllerAnimated:YES];
这样就实现了你想要的效果。

稍微麻烦点的方法:你的项目建立在singleview的基础上(单一viewController)。再写一个otherTabBarController,

UIViewController *vc1 = [[[UIViewController alloc] init] autorelease];
vc1.view.backgroundColor = [UIColor redColor];

UIViewController *vc2 = [[[UIViewController alloc] init] autorelease];
vc2.view.backgroundColor = [UIColor blueColor];

[self setViewControllers:[NSArray arrayWithObjects:vc1,vc2, nil]];
点击登陆就使用

[viewController presentModalViewController:otherTabBarController animated:YES];
otherTabBarController要继承自UITabBarController,这样就没有底部挡住的问题。

最初我给的答案是使用继承自UIViewController的方法。
不过我觉得这样写的代码层次会有些冗余。不如直接继承自UITabbarController作为容器。

用系统的tabbarcontroller会挡住,至于原因因为系统的这套TabBarController.view的尺寸是320*480,而默认建立的singleview项目,是有statusBar的20像素存在,这样,viewController的尺寸是320*460,而在这个的基础上addSubview的尺寸(320*480)大于本身,自然按照左上角对齐,就导致向下偏移20像素。

当然你也可以在AppDelegate的

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
中加上

[[UIApplication sharedApplication] setStatusBarHidden:YES];
解决偏移的问题。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式