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在模拟器上测试这个可能更容易电话“,我试图摆脱这个模拟器徒劳,因为我会议和发展,造成了一个问题,但一个很好的,因为我然后正确地奠定了我的用户界面。