4

ストーリーボードで設計した複数のプロトタイプセルを含むテーブルビューがありますが、最初のセルが2番目のセルとは異なると思われるため、高さの問題に悩まされています...セルごとに異なる識別子があります、そしてストーリーボードでそれらを設計したので、私はそれらが高さであることを知っています。私は私のコードにこれを持っていますが、それは機能していません、誰かがそれを修正する方法を知っていますか?:

-(CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{

UITableViewCell *cell = [[UITableViewCell alloc]init];
switch (indexPath.section) 

{
    case 1:

        cell = [tableView dequeueReusableCellWithIdentifier:@"cell1"];
        return 743.0f; 

        break;

    case 2:

        cell = [tableView dequeueReusableCellWithIdentifier:@"cell2"];
        return 300.0f;



}

}

御時間ありがとうございます。

4

1 に答える 1

7

このメソッドを設計されていない目的で使用しようとしているようです...メソッドをオーバーライドする必要があります。

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    switch (indexPath.section)
        case 1:
           static NSString *CellIdentifier = @"cell1";
           break;
        case 2:
           static NSString *CellIdentifier = @"cell2";
           break;

    UITableViewCell *cell = [tableView 
      dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) 
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }

    // Configure the cell...
    return cell;
}

heightForRowAtIndexPathの行の高さのみを変更します。

-(CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{

switch (indexPath.section) 

{
    case 1:

        return 743.0f; 

        break; //technically never used

    case 2:

        return 300.0f;



}

このチュートリアルをチェックしてください http://www.raywenderlich.com/5138/beginning-storyboards-in-ios-5-part-1その良いリソース

于 2012-07-16T22:56:36.380 に答える