Objective C:由Tab栏控制器隐藏的UITableView的一部分

时间:2011-06-15 14:32:20

标签: objective-c ios uitableview uitabbarcontroller

您好我将Uitableview添加到Uiviewcontroller中,如下面的代码所示。控制器是UITabbarcontroller的一部分。

这里的问题是标签栏(屏幕底部)与表格视图重叠。有没有办法缩短表格高度,以便标签栏不会部分隐藏它?

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.view = [[[UIView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame] autorelease];

    self.feedTableView = [[UITableView alloc]init];

    self.feedTableView.frame = self.view.bounds;

    self.feedTableView.delegate = self;
    self.feedTableView.dataSource = self;

    [self.view addSubview: self.feedTableView];

    [self getData];

    [self.feedTableView reloadData];
}

1 个答案:

答案 0 :(得分:3)

这里有两个问题:

  • 您在viewDidLoad中设置了self.view(它应该已在loadView中设置)。
  • 您将视图框架设置为applicationframe,但您的视图不会占用整个应用程序框架(标签栏控制器的视图可能会这样做)。

当你有一个tabbarcontroller并在其中设置viewcontrollers时,tabbarcontroller会设置所有的viewcontrollers(告诉他们何时加载以及要具有的大小和何时显示)。在这种情况下,您永远不需要设置视图的框架。因此,在[super viewDidLoad];之后删除第一行应解决您的问题。