0

このユーティリティアプリのビューコントローラクラス(UITableViewControllerのサブクラス)は、4つのテーブルビューを表示するために使用され、そのうち3つはナビゲーションコントローラを介して入力されます。ストーリーボードでは、スタイルはに設定されていUITableViewStyleGroupedます。

質問:プログラムStyle Plainでインデックスを使用するように変更し、画面スペースを解放してインデックスを表示することは可能ですか?私は他のSOの質問からの提案を試し、これを修正して成功initしませんでした。viewDidLoad

- (void)viewDidLoad
{
   [super viewDidLoad];
   self.navigationItem.title = self.title;

   if ([[self parentViewController] isKindOfClass:[UITabBarController class]]) {
      [self getNewDataForDate:nil];
      self.tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
   }
}

編集1:本当の問題は上記のコードを超えています。プロトタイプセル(グループ化されて表示される)を使用してストーリーボードで生成されたテーブルビューの「スタイル」を変更するには、コーディングするために他のmodが必要です。ここにありますか?

static NSString *CellIdentifier = @"ListCell";
DetailTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

結果はこのエラーです:

Assertion failure in -[UITableView _createPreparedCellForGlobalRow:withIndexPath:]
4

1 に答える 1

1

テーブル ビューを初期化するときにテーブル スタイルを設定します (initWithFrame:style: を参照)。その後、スタイルを変更することはできません。(これはAppleのドキュメントからのものです)。

于 2012-05-22T17:30:10.193 に答える