2012-08-08 84 views
0

我試過了一堆東西 - 從對象瀏覽器添加一個按鈕,更改屬性,搜索網頁,但沒有運氣。本質上,我想要 - 在故事板中 - :pin screenshoot將多個水平按鈕添加到表格視圖

您在哪裏看到「添加到聯繫人」,「共享位置」和「添加到書籤」。

+0

我意識到我希望能夠在故事板中做到這一點,因爲它是一個圖形化的東西。我發現[this](http://stackoverflow.com/questions/9605381/how-to-add-a-footer-to-a-uitableview-in-storyboard),但背景是白色的 - 我想要桌子背景(灰色垂直條紋)來通過。 – 2012-08-09 21:11:48

回答

2

將三個按鈕放在一個320像素寬的UIView中,並說60高度,並使該視圖成爲表格的頁腳。

2

UITableView使用表示樣式。
這三個UIButtons以編程方式添加到tableView.tableFooterView
或者,您可以將三個UIButtons添加到最後的cellcontentView

添加按鈕,如:

UIButton *theButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
theButton.frame = CGRectMake(20, 20, 200, 40); 
[theButton setTitle:@"Button" forState:UIControlStateNormal]; 
[theButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside]; 
[cell.contentView addSubview:theButton]; 

獲取按鈕位置正確使用試驗和錯誤:)

4

您應該創建一個UITableViewCellcontentView擁有3個獨立的UIButtons。 要做到這一點編程,在你tableView:cellForRowAtIndexPath:數據源的方法,你可以使用類似的代碼如下:

- (UITableViewCell*) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString* identifier = @"cell"; 
    UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:identifier]; 
    if (!cell) { 
     cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil]; 
     cell.backgroundColor = [UIColor clearColor]; 
     UIButton* button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
     UIButton* button2 = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
     UIButton* button3 = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
     button1.frame = UIEdgeInsetsInsetRect(cell.contentView.bounds, UIEdgeInsetsMake(0, 0, 0, 250)); 
     button2.frame = UIEdgeInsetsInsetRect(cell.contentView.bounds, UIEdgeInsetsMake(0, 125, 0, 125)); 
     button3.frame = UIEdgeInsetsInsetRect(cell.contentView.bounds, UIEdgeInsetsMake(0, 250, 0, 0)); 
     button1.autoresizingMask = UIViewAutoresizingFlexibleRightMargin; 
     button2.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleLeftMargin; 
     button3.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin; 
     [cell.contentView addSubview:button1]; 
     [cell.contentView addSubview:button2]; 
     [cell.contentView addSubview:button3]; 
    } 

    return cell; 
} 

此外,在委託的tableView:willDisplayCell:方法,請執行下列操作有細胞的默認裝飾完全消失:

- (void) tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    cell.backgroundView = nil; 
} 

您應該獲得與您發佈的結果非常相似的結果。