UITabBarController一见即可抵消内容

时间:2013-03-25 20:18:02

标签: ios objective-c xcode cocoa-touch uitabbarcontroller

我的UITabBarController遇到问题,因为我对第一个UIViewController的第一个视图偏移了大约20个像素到底部。每当我选中和/或返回第一个视图控制器(相同的实例,未发布)时,它都没问题。这只是第一次遭遇。

我的步骤:

  1. 我正在分配和初始化UITabBarController
  2. 我正在分配和初始化UIViewController
  3. 的3个实例
  4. 我将viewControllers属性设置为上述3项
  5. 的数组

    我的代码:

    - (void)viewDidLoad {
        [super viewDidLoad];
        // Allocate and initialize view controllers
        self.debtsViewController = [[DebtsViewController alloc] init];
        self.debtsViewController.title = NSLocalizedString(@"Debts", nil);
        self.debtsViewController.tabBarController = self;
        self.conclusionsViewController = [[ConclusionsViewController alloc] init];
        self.conclusionsViewController.title = NSLocalizedString(@"Entries", nil);
        self.conclusionsViewController.tabBarController = self;
        self.settingsViewController = [[SettingsViewController alloc] init];
        self.settingsViewController.title = NSLocalizedString(@"Settings", nil);
        // Assign to tabBarController
        self.viewControllers = [NSArray arrayWithObjects:self.debtsViewController, self.conclusionsViewController, self.settingsViewController, nil];
    }
    

    有什么想法吗?

    屏幕截图:http://cl.ly/image/2E0S001d0Q2x(注意UITableViewController上方的黑色空间)

2 个答案:

答案 0 :(得分:1)

我解决了这个问题。

```

[tab setSelectedIndex:1];
[tab setSelectedIndex:0];

```

您可以通过在tabbarcontroller初始化

后切换标签栏来手动重置偏移量

答案 1 :(得分:0)

瞥了一眼你的截图让我想到,实际上你应该在UINavigationControllers内有3 UITabBarViewController。他们的navigationBars(几乎)看起来很像,但它将是3个独立的实例。 “设置”与“债务”有什么共同之处?为什么他们会分享相同的导航?

使用UITabBarViewController的目的是拥有应用的独立部分。我强烈建议你Apple's guide.