1 回答

TA貢獻(xiàn)1809條經(jīng)驗(yàn) 獲得超8個(gè)贊
簡(jiǎn)單實(shí)現(xiàn)方法:你的項(xiàng)目建立在tabbarcontroller的基礎(chǔ)上。
在appdelegate的
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
方法中,使用
[self.tabBarController presentModalViewController:loginNC animated:NO];
這樣,你打開(kāi)程序,首先顯示的登陸頁(yè)面,點(diǎn)擊登陸,在登陸的事件中加上下述代碼
[self dismissModalViewControllerAnimated:YES];
這樣就實(shí)現(xiàn)了你想要的效果。
稍微麻煩點(diǎn)的方法:你的項(xiàng)目建立在singleview的基礎(chǔ)上(單一viewController)。再寫(xiě)一個(gè)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]];
點(diǎn)擊登陸就使用
[viewController presentModalViewController:otherTabBarController animated:YES];
otherTabBarController要繼承自UITabBarController,這樣就沒(méi)有底部擋住的問(wèn)題。
最初我給的答案是使用繼承自UIViewController的方法。
不過(guò)我覺(jué)得這樣寫(xiě)的代碼層次會(huì)有些冗余。不如直接繼承自UITabbarController作為容器。
用系統(tǒng)的tabbarcontroller會(huì)擋住,至于原因因?yàn)橄到y(tǒng)的這套TabBarController.view的尺寸是320*480,而默認(rèn)建立的singleview項(xiàng)目,是有statusBar的20像素存在,這樣,viewController的尺寸是320*460,而在這個(gè)的基礎(chǔ)上addSubview的尺寸(320*480)大于本身,自然按照左上角對(duì)齊,就導(dǎo)致向下偏移20像素。
當(dāng)然你也可以在AppDelegate的
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
中加上
[[UIApplication sharedApplication] setStatusBarHidden:YES];
解決偏移的問(wèn)題。
- 1 回答
- 0 關(guān)注
- 190 瀏覽
添加回答
舉報(bào)