第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

效果出來(lái)了 但是tabbar感覺(jué)是整體下移了一些位置,咋整?

效果出來(lái)了 但是tabbar感覺(jué)是整體下移了一些位置,咋整?

iOS
嚕嚕噠 2023-04-15 18:14:34
最近剛學(xué)習(xí)IOS,現(xiàn)有一個(gè)登陸界面,還有一個(gè)包含多個(gè)選項(xiàng)卡的界面在點(diǎn)擊登陸界面的登陸按鈕時(shí)跳轉(zhuǎn)至含tabbar的界面,我該怎么實(shí)現(xiàn)了?希望有人能給出思路,如果有關(guān)鍵代碼最好了在ViewController.m中登陸按鈕的代碼如下UIViewController *controller=[[Tabbarcontroller alloc]init];[self presentModalViewController:controller animated:YES];在TabbarController.h中@property(strong,nonatomic) UITabBarController *controller;然后是在TabbarController.m中的@synthesize controller;-(id) initWithNibName(NSString *)nibNameOrNil bundle:(NSBundle *)nibBoundleOrNil {    self=[super initWithNibName:nibNameOrNil bundle:nibBoundleOrNil];    UIViewController *first=[[First alloc]initWithNibName:@"First" bunlde:nil];    UIViewController *second=[[Second alloc]initWithNibName:@"Second" bunlde:nil];     controller=[[UITabBarController alloc]init];     controller.viewControllers=[NSArray arrayWithObjects:first,second,nil];     [self.view addSubView:controller.view];    if(self){     }    return self; }效果出來(lái)了 但是tabbar感覺(jué)是整體下移了一些位置(頭部有一些空白,tabbar選項(xiàng)卡底部被遮蓋了)
查看完整描述

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)題。


查看完整回答
反對(duì) 回復(fù) 2023-04-18
  • 1 回答
  • 0 關(guān)注
  • 190 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)