2011-06-15 48 views
1

嗨我有一個Uitableview添加到Uiviewcontroller中,如下面的代碼所示。該控制器是UITabbarcontroller的一部分。目標C:由選項卡欄控制器隱藏UITableView的一部分

這裏的問題是標籤欄(在屏幕的底部)與表視圖重疊。有沒有辦法縮短桌子的高度,使其不會被標籤欄部分隱藏?

- (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]; 
} 
+0

難道你不能捲動嗎? – Legolas 2011-06-15 14:48:58

回答

3

您這裏有兩個問題:

  • 您設置的viewDidLoad self.view(它應該已經在設定的loadView)。
  • 您將視圖框架設置爲應用程序框架,但您的視圖不佔用整個應用程序框架(標籤欄控制器的視圖可能會這樣做)。

當你有一個tabbarcontroller並設置裏面viewcontrollers的tabbarcontroller設置所有的viewcontrollers(告訴他們時加載,什麼尺寸都有,當顯示)。在這種情況下,您永遠不需要設置視圖的框架。因此,在[super viewDidLoad];之後刪除第一行應該可以解決您的問題。

+0

嘿@vakio。我很困惑。刪除[super viewDidLoad]如何提供幫助? – Legolas 2011-06-15 14:50:11

+0

@Legolas,這是AFTER [super viewDidLoad]的第一行。 – Zhen 2011-06-15 17:45:04

+0

我刪除了行來設置self.view。不幸的是,問題依然存在。我是否必須改變設置tableview框架的方式? – Zhen 2011-06-15 17:45:56

相關問題