0

我有一个包含 UITableView 的视图控制器。我正在尝试将 UITableView 作为视图之一放入 UITabBarController 中。它不起作用,底部不会显示任何内容。如果我在底部放置 iAd 横幅,它不会显示。UITabBar 不会显示。我不知道问题是什么。我想也许 UITableView 会以某种方式越过 UITabBar,但我真的不知道。我试着缩短它,但无济于事。任何帮助将非常感激。另外,我主要使用 UIStoryboards 来做这件事。我不确定这里有什么相关的代码,所以如果您需要查看任何代码,请告诉我。提前致谢,

-山姆

4

2 回答 2

2

我经历了你正在经历的事情——我也在使用故事板。我不记得我在哪里找到了这个片段,但它对我来说效果很好。信用应该归于最初编写它的人。

- (void)viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated];

    //Initialize the toolbar 
    toolbar = [[UIToolbar alloc] init]; 
    toolbar.barStyle = UIBarStyleDefault;

    //Set the toolbar to fit the width of the app. 
    [toolbar sizeToFit];

    //Caclulate the height of the toolbar CGFloat 
    CGFloat toolbarHeight = [toolbar frame].size.height;

    //Get the bounds of the parent view 
    CGRect rootViewBounds = self.parentViewController.view.bounds;

    //Get the height of the parent view. 
    CGFloat rootViewHeight = CGRectGetHeight(rootViewBounds);

    //Get the width of the parent view, 
    CGFloat rootViewWidth = CGRectGetWidth(rootViewBounds);

    //Create a rectangle for the toolbar 
    CGRect rectArea = CGRectMake(0, rootViewHeight - toolbarHeight, rootViewWidth, toolbarHeight);

    //Reposition and resize the receiver 
    [toolbar setFrame:rectArea];

    // add buttons (make sure you create your buttons)
    //[toolbar setItems:[NSArray arrayWithObjects:trashButtonItem, leftSpaceButtonItem, cameraButtonItem, rightSpaceButtonItem, addButtonItem, nil]];

    //Add the toolbar as a subview to the navigation controller. 
    [self.navigationController.view addSubview:toolbar]; 

}

显然,您必须用自己的按钮替换按钮。

于 2012-08-21T03:07:56.877 回答
1

您需要通过 UIViewController 扩展您的类,而不是 UITableViewController,因为这会占用您的整个视图。

于 2012-08-21T01:22:13.853 回答