2009-11-05 55 views
0

RootViewController上午使用UITableView來顯示數據的內容。在didSelectRowAtIndexPath方法中,我調用另一個視圖控制器(DetailViewController)顯示詳細數據。爲了顯示詳細數據,我還在DetailViewController中使用了UITableview。此表格包含一個部分和只有一行。UITableview的相對高度

現在的問題是,當我從RootViewController移動到DetailViewController時,我不得不動態調整表的高度。我怎樣才能使兩個類之間的動態變化的高度爲UITableView

任何幫助將被讚賞!

回答

4

您可以實現的UITableViewDelegate方法是這樣的:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    return [TextToDisplay sizeWithFont:/*DESIRED_FONT*/ constrainedToSize:/*YOUR DESIRED_SIZE*/ lineBreakMode:/*DESIRED_LINEBREAKMODE*/].height; 
} 

得到不同高度。

1

這聽起來像你試圖重用兩個不同的UIViewControllers之間的UITableView。我認爲你最好擁有RootViewController擁有自己的UITableView,它使用UIView autoresizingMask屬性設置爲動態高度和寬度。然後,當您選擇一行並在UINavigationController堆棧中推入DetailViewController時,它將擁有UITableView來顯示您嘗試顯示的詳細信息。

這種交互技術被用於其他iPhone應用程序,如郵件。如果我誤解了你的問題,請告訴我。