uitableview 삭제 버튼 텍스트를 변경하는 방법


78

안녕하세요, 사용자가 내 테이블 뷰에서 uitableviewcell을 스 와이프 할 때 삭제 버튼에 표시되는 텍스트를 변경하려고합니다.

이 tableview 대리자를 사용하라는 다른 질문 스레드의 예를 보았습니다.

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

제 질문은이 방법을 어떻게 사용 하느냐는 것입니다.이 방법을 사용하는 방법을 잘 모르겠습니다.

답변:


198

컨트롤러에서를 관리하고 메서드 내에서 원하는 제목을 UITableView구현 UITableviewDelegate하고 반환 해야합니다 titleForDeleteConfirmationButtonForRowAtIndexPath.

예:

@interface CategoryAddViewController : UITableViewController
@end

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

@end

다음과 같이 당신을 떠나십시오.

여기에 이미지 설명 입력


좋습니다.하지만 버튼 모양이 더 이상 움직이지 않는 이유는 무엇입니까? 이것을 추가하면 애니메이션 대신 삭제 버튼이 나타납니다! 편집 : 내 잘못은 sim 결함 이었음에 틀림 없습니다. 앱을 다시 시작한 후 다시 확인하십시오.
Maciej Swic

@FaizanS. 이것도 조사하고 있습니다. 속성 만 변경할 방법이 없나요? self.tableView.deleteButton.name = @"Remove";메서드를 재정의하는 대신 ...와 같은 것 ?
Scott은

글을 쓰는 시점이 아닙니다. iOS SDK에서는 기본 UI 클래스의 기존 메서드를 재정 의하여 많은 작업을 수행합니다.
Faizan S. 2014

2
신속한 방법 :func tableView(tableView: UITableView, titleForDeleteConfirmationButtonForRowAtIndexPath indexPath:NSIndexPath) -> String{ return "Remove Me"; }
datayeah

1
이 답변에는을 추가 할 이유가 없습니다 <UITableViewDelegate>.
rmaddy

31

Swift에서는 동일하며 메서드 서명 만 다릅니다!

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

4

삭제 대신 표시하려는 문자열을 반환하십시오. 모든 행에 대해 "지우기"를 표시하려면 위 함수에 다음이 포함되어야합니다.

return @"Erase";

이것을 읽으십시오

또한 .h 파일에서 뷰 컨트롤러가 이미 UITableViewController가 아닌 경우 UITableViewDelegate를 추가하십시오. 다음 중 하나 일 수 있습니다.

@interface SomeView : UIViewController <UITableViewDelegate>

또는

@interface SomeView : UITableViewController

0

스위프트 4.2

override func tableView(_ tableView: UITableView, titleForDeleteConfirmationButtonForRowAt indexPath: IndexPath) -> String? {
        return "Erase"
    }
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.