반응형
UITableView를 편집하는 동안“-”(삭제) 버튼을 숨기는 방법이 있습니까?
내 아이폰 앱에는 편집 모드의 UITableView가 있는데, 여기서 사용자는 삭제 권한이없는 행만 재정렬 할 수 있습니다.
그래서 내가 TableView에서 "-"빨간 버튼을 숨길 수있는 방법이 있습니다. 알려주세요.
감사
여기에 셀의 들여 쓰기 (0left align)가없는 완전한 솔루션이 있습니다!
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
return YES;
}
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{
return UITableViewCellEditingStyleNone;
}
- (BOOL)tableView:(UITableView *)tableview shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath {
return NO;
}
- (BOOL)tableView:(UITableView *)tableview canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
return YES;
}
필요한 기능만으로 허용되는 답변에 해당하는 Swift 3 :
func tableView(_ tableView: UITableView, shouldIndentWhileEditingRowAt indexPath: IndexPath) -> Bool {
return false
}
func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCellEditingStyle {
return .none
}
이렇게하면 들여 쓰기가 중지됩니다.
- (BOOL)tableView:(UITableView *)tableview shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath {
return NO;
}
사용자 정의 확인란이 편집 모드에 나타나고 '(-)'삭제 버튼이 아닌 유사한 문제에 직면했습니다.
스테판의 대답은 나를 올바른 방향으로 이끌었습니다.
토글 버튼을 만들고 셀에 editingAccessoryView로 추가하고 메서드에 연결했습니다.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
....
// Configure the cell...
UIButton *checkBoxButton = [[UIButton alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 40.0f, 32.0f)];
[checkBoxButton setTitle:@"O" forState:UIControlStateNormal];
[checkBoxButton setTitle:@"√" forState:UIControlStateSelected];
[checkBoxButton addTarget:self action:@selector(checkBoxButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
cell.editingAccessoryType = UITableViewCellAccessoryCheckmark;
cell.editingAccessoryView = checkBoxButton;
return cell;
}
- (void)checkBoxButtonPressed:(UIButton *)sender {
sender.selected = !sender.selected;
}
이러한 대리자 메서드 구현
- (BOOL)tableView:(UITableView *)tableview shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath {
return NO;
}
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
return UITableViewCellEditingStyleNone;
}
반응형
'programing' 카테고리의 다른 글
Android Studio에서 "기호를 확인할 수 없음"이라고 말하지만 프로젝트가 컴파일됩니다. (0) | 2020.08.29 |
---|---|
입력 인수의 형식 지정 argparse python (0) | 2020.08.29 |
Xcode에서 "사용하지 않는 변수"경고를 어떻게 제거 할 수 있습니까? (0) | 2020.08.29 |
목록과 함께 Python 문자열 형식화 사용 (0) | 2020.08.29 |
파일에서 RSA 공개 키로드 (0) | 2020.08.29 |