0

常に5行のデータを表示する必要があるアプリに取り組んでいます。行のデータは、NSArray文字列から取得されます。はNSArray空にすることも、最大5つの要素を含めることもできます。UITableView常に5行を表示するように強制したかったのです。試してみましたNSArrayが、要素が1つしかない場合、5行()を定義したため、iOSは例外をスローしますnumberOfRowsInSectionUITableView例外を発生させずに常に5行(グループ化、1行)を表示するようにするにはどうすればよいですか?また、セクションヘッダーを中央に配置するにはどうすればよいですか?titleForHeaderInSectionメソッドを使用しています。

4

2 に答える 2

1

では、文字列cellForRowAtIndexPathのサイズに基づくロジックを実装する必要がありNSArrayます。

を使用して文字列の総数を検索し[NSArray count]ます。次に、indexPath.rowがより小さいかどうかを確認し、インデックスとして[NSArray count]使用indexPath.rowして配列から文字列を取得する標準の実装を使用します。indexPath.rowが、以上の場合は[NSArray count]、セルを空のままにしておくことができます(配列から何も取得しようとしないでください)。そうすれば、その例外は発生しません。

タイトルヘッダーの場合、これは機能しますか? https://discussions.apple.com/thread/2539133?start=0&tstart=0

に置き換えUITextAlignmentCenterますNSTextAlignmentCenter

viewForHeaderInSection中央揃えを使用して返すことにより、問題を回避しますUILabel

于 2013-01-21T21:51:07.890 に答える
0
  1. 5 行を表示するには、numberOfRowsInSection で定数 5 を返し、メソッドでcellForRowAtIndexPath空のセルを生成する必要がありますif indexPath.row >= [array count]
  2. ヘッダーを中央に表示するには

- (UIView*)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
于 2013-01-21T21:54:19.127 に答える