2012-03-29 88 views
0

兩個UITableViewCell的相關問題:調整UITableViewCell高度和縮進?

  1. 在通過陣列(其中我不知道有多少對象持有)我的自定義的UITableViewCell我環路,並添加一個UILabel顯示該陣列中的每個對象一些文字。

這意味着我必須調整單元格的高度,以便這些標籤符合要求。我該怎麼做?

  1. 當進入編輯模式,我有單元格縮進,但我不想這樣。我曾嘗試以下:

cell.shouldIndentWhileEditing = NO;

-(BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    return NO; 
} 

兩個可悲的是失敗了,我有我不知道爲什麼。我怎麼可能解決這個問題?

任何幫助都非常感謝這些問題,謝謝。

+0

不確定編輯,但:在tableViewDelegate中,使用tableView:heightForRowAtIndexPath:方法爲不同的行設置高度。 – 2012-03-29 20:40:37

回答

0
  1. 您可以指定每個高度用代表方法[UITableViewDelegate tableView:heightForRowAtIndexPath:]排。 只需更改該方法返回的內容並重新載入您的表。

  2. 這種方法實際上已經無關單元格內容的indendation:

    詢問是否背景指定行的而表視圖處於編輯模式應縮進的委託。

你可以嘗試設置indentationWidth但我從來沒有設法使其工作。 幸運的是,很容易在[UITableView layoutSubviews]方法中更改所需的一切。 例如:

- (void)layoutSubviews { 
    [super layoutSubviews]; 
    self.contentView.frame = self.bounds; 
}

+0

高度做到了!仍然有縮進問題,並認爲這將是不公平的在同一個問題。縮進問題:http://stackoverflow.com/questions/9934139/remove-uitableviewcell-edit-mode-indentation – 2012-03-29 21:55:20

0

您可能還需要設置

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath; 
{ 
    return UITableViewCellEditingStyleNone; 
} 

對於動態高度的部分也有很多其他的答案和快速谷歌發現了一個教程here

+0

我已經試過這個,可惜它只是刪除了刪除按鈕。我希望能夠刪除單元格,但是我不希望它們在進入編輯模式時縮進。 – 2012-03-29 20:58:31