2012-04-07 82 views
0

於是下,我已經實現了這個方法頁腳添加到我的表視圖:將在UITableView的頁腳中的按鈕,使的UITableViewCell不頁腳

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section 
{ 
    return 60; 
} 

這是結果:

enter image description here

現在,你看,有兩個問題:

1)我想補充表視圖頁腳中的按鈕,但是當我將一個按鈕控制在故事板,它不起作用。如何在那裏添加一個按鈕?

2)正如你所看到的,頁腳是透明的,並且在它下面有一個表格視圖單元格。我希望在頁腳下沒有單元格(所以最後一個可見單元格將是頁腳上方的單元格)。其次,我希望頁腳不要透明。

我使用Xcode 4.2和Snow Leopard。

回答

2
-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section 

是委託方法。嘗試改爲訪問您的表的sectionFooterHeight屬性。

要添加一個按鈕,您可以考慮添加一個自定義視圖到您的頁腳。您可以訪問tableFooterView併爲其分配自定義視圖。

+0

我做到了。我用sectionFooterHeight,現在頁腳完全不出現。 – 2012-04-07 11:36:05

1

可以使用的tableView:viewForFooterInSection:方法添加按鈕,頁腳tableviews底部的

1

增加contente大小

UIEdgeInsets contentInset = self.tableView.contentInset; 
contentInset.bottom = 50.0f; // **the height of the footer** 
self.tableView.contentInset = contentInset; 
+0

什麼是self.myToolbar? – 2012-04-07 14:22:59

+0

可以是任何高度,只是一些代碼的副本,請參閱編輯 – FoJjen 2012-04-07 14:26:00

2

使用此功能創建表頁腳視圖

- (UIView *) createViewForTableFooter 
{ 
    CGRect footerRect = CGRectMake(0, 0, self.view.frame.size.width, 60); 
    UIView *tableFooter = [[[UIView alloc] initWithFrame:footerRect] autorelease]; 
    tableFooter.backgroundColor = [UIColor clearColor]; 

    UIButton* verifyButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
    [verifyButton setTitle:WNLocalizedString(@"Verify",@"") forState:UIControlStateNormal]; 
    [verifyButton.titleLabel setFont:[UIFont boldSystemFontOfSize:20]]; 
    [verifyButton addTarget:self action:@selector(verifyBtnTapped:)forControlEvents:UIControlEventTouchUpInside]; 
    verifyButton.autoresizingMask = UIViewAutoresizingFlexibleWidth; 
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 
     [verifyButton setFrame:CGRectMake(44, 10, self.view.frame.size.width - 88, 37)]; 
    }else { 
     [verifyButton setFrame:CGRectMake(10, 10, self.view.frame.size.width - 20, 37)]; 
    } 
    [tableFooter addSubview:verifyButton]; 

    return tableFooter; 
} 

並在您的viewDidLoad方法中使用此功能

yourTableObjectName.tableFooterView = [self createViewForTableFooter];