web-dev-qa-db-ja.com

UitableViewの削除ボタンのテキストを変更する方法

こんにちは。Tableview内でユーザーがuitableviewcellをスワイプしたときに削除ボタンに表示されるテキストを変更しようとしています。

このtableviewデリゲートを使用するように言っている別の質問スレッドで例を見てきました

- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath

私の質問は、この方法の使用方法です。

75
C.Johns

UITableViewを管理するコントローラーで、UITableviewDelegateを実装し、titleForDeleteConfirmationButtonForRowAtIndexPathメソッド内でメソッドに必要なタイトルを返す必要があります。

例:

@interface CategoryAddViewController : UITableViewController
@end

@implementation CategoryAddViewController
// ...
-(NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath {
return @"Please don't delete me!";
}

@end

そのようなものであなたを離れる:

enter image description here

194
Faizan S.

Swiftそれは等しい、メソッドのシグネチャが異なるだけです!

func tableView(tableView: UITableView, titleForDeleteConfirmationButtonForRowAtIndexPath indexPath: NSIndexPath) -> String? {
  return "Erase"
}
29
Weles

削除する代わりに、表示する文字列を返すだけです。すべての行に「消去」を表示したい場合、上記の関数には以下が含まれている必要があります。

return @"Erase";

読み取り [〜#〜] this [〜#〜]

また、View ControllerがまだUITableViewControllerでない場合に備えて、.hファイルにUITableViewDelegateを追加します。それは次のいずれかです。

@interface SomeView : UIViewController <UITableViewDelegate>

OR

@interface SomeView : UITableViewController
4
Bourne