クリックするとセルが編集セルに変換される編集ボタンがあるという点で、連絡先アプリと同様の方法で作業したい UITableView があります。
現時点では、セル スタイル「左の詳細」を使用して設定されており、実装の準備ができている setEditing メソッドをオーバーライドしましたが、セルを変換する方法がわかりません。
ここでの他の回答には、「テーブル ビューの編集プロパティが変更されたとき ([編集] ボタンが押されたとき) を監視します。次に、デリゲート メソッドにコードを追加して、テーブル ビューが編集中のときに別の方法でセルを作成、描画、およびインデントします。モード。" これはまさに私が欲しいものですが、方法がわかりません。
- (void)setEditing:(BOOL)flag animated:(BOOL)animated
{
[super setEditing:flag animated:NO];
if (flag == YES){
// Change views to edit mode.
self.textField = [[UITextField alloc] initWithFrame:[_titleLabel frame]];
[self.textField setText:_titleLabel.text];
[self.view addSubview:self.textField];
}
else {
// Save the changes if needed and change the views to noneditable.
[_titleLabel setText:self.textField.text];
[self.textField removeFromSuperview];
}
}
私の方法では、動作する別の質問から取得したコードがあります..(新しい編集可能なテキストフィールドをその場で間違った場所に作成し、ラベルを非表示にしません)。
Appleのガイドラインは、ビューを作成する方法を理解するには具体的ではありません。