2012-08-10 53 views
2

我正在爲iOS 4.1+編寫應用程序,我不得不通過編程方式添加標籤欄來查看控制器。iOS 4.1個人熱點按下標籤欄

這裏是主視圖控制器的代碼:

- (void)viewDidLoad 
{ 
    FirstViewVC* vc1 = [[FirstViewVC alloc] init]; 
    vc1.tabBarItem.title = @"Tab 1"; 
    AboutVC* vc2 = [[AboutVC alloc] init]; 
    vc2.tabBarItem.title = @"About Program"; 
    NSArray* controllers = [NSArray arrayWithObjects:vc1,vc2, nil]; 
    tabBarController.viewControllers = controllers; 
    self.tabBarController.view.frame = [[self view] frame]; 
    tabBarController.view.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleHeight; 

    self.view.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleHeight; 
    [self.view addSubview:tabBarController.view]; 
     (...) //deallocs 
} 

結果看起來是這樣的:

http://img152.imageshack.us/img152/5176/nohotspotup.png

現在,如果我打開個人熱點,一切都滑了下來:

http://img528.imageshack.us/img528/9348/img0028y.png

正如你所看到的tabbar被切斷。我已經嘗試了很多應用調整大小掩碼並添加tabbar的方法,但是我仍然無法設法正確地工作。

有沒有辦法解決這個問題?

+0

你爲什麼要這樣? UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleHeight; – 2012-08-10 13:19:30

+0

我在嘗試修復它之後離開了它。沒有這個,它也不起作用。 – 2012-08-10 13:56:01

+0

self.view.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleHeight; 刪除此以及 – 2012-08-10 14:00:22

回答

0

這不是一個錯誤,它也可能發生,如果您接聽電話,然後切換到您的應用程序,當通話仍然活躍。

這是你需要的東西。在佈置用戶界面時要考慮到這一點,並確保在用戶界面恢復到正常大小時UI恢復到所需狀態,這是需要處理的另一個小問題。我想現在你應該使用的FaceTime應用程序上的山獅,這應該設置的,因爲「活動是頂欄綠色 -

此外,您還可以,如果你打開的iChat在模擬器上測試這個可能更容易電話「,我試圖擺脫這個模擬器徒勞,因爲我會議和發展,造成了一個問題,但一個很好的,因爲我然後正確地奠定了我的用戶界面。