私はUITableViewを持っていますが、セクションに応じてセルが異なって見えます。具体的には、セクション0と1には、セルの右側にUIStepperを配置します。UITableViewの複数のプロトタイプセル?
IBでは、UITableViewに2つのプロトタイプセルがあります。最初のものでは、私はUIStepperを追加し、2番目はデフォルト(空白)として残しました。私はステッパーUITableViewCellに識別子 "StepperCell"(IBで)を与え、ステッパー以外のセルには識別子 "Cell"を与えました。
さて、cellForRowAtIndexPath
に、私はセクションの番号をチェックしていますし、そのようにように、適切な再利用識別子を適用する:
static NSString *stepper = @"StepperCell";
static NSString *normal = @"Cell";
NSString *identifier = normal;
NSInteger section = [indexPath section];
if (section == 0 || section == 1)
{
identifier = stepper;
}
UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier: identifier];
は私がそれを意図したとおり、これはうまくいくかもしれないと思ったが、それは、全てのセルを離れますデフォルトのブランクセル。プログラムでUIStepperを追加することなく、私が記述したことを行う方法はありますか?
編集 - IBのアクセサリビューが[なし]に設定されているため、UIStepperが表示されないようです。デフォルトの選択(詳細開示など)ではなく、UIStepperをIBでアクセサリビューにする方法はありますか?
あなたのコードは大丈夫です。デバッグして、セクションが0または1になったかどうかを確認してください。 – Krizz
はい、それは0と1を得ます...私が編集で言ったように、問題は付属品の表示がないということです。たとえば、セルのアクセサリビューを詳細の開示に変更すると、UIStepperが表示されます(部分的に詳細の開示ボタンの後ろにあります)。 –
アクセサリビューではなくコンテンツビューに追加します。 –