UITableViewCell에서 스 와이프 동작



소개



iOS 11과 함께 제공되는 기능은 왼쪽에서 오른쪽(선행) 또는 오른쪽에서 왼쪽(후행)으로 정의할 수 있습니다. 기본적으로 UIContextualAction에서 .normal 및 .destroy 스타일을 제공할 수 있는 스와이프 작업을 만듭니다. 스타일, 제목 및 핸들러 매개변수를 사용하는 둘 이상의 UIContextualAction 클래스를 생성하고 관련 스와이프 작업에 사용할 수 있습니다. 더 이상 이야기하지 않고 코드를 작성해 봅시다.



코딩하자



먼저 UITableView를 이미 정의했다고 가정합니다. 다음 코드를 사용하여 UITableViewCell의 시작 부분에 스와이프 동작을 추가합니다.

override func tableView(_ tableView: UITableView, leadingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? { }


반대로 UITableViewCell 끝에 스와이프 작업을 추가하려면 코드에 후행 상태를 추가해야 합니다.

override func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? { }


이제 이 함수들을 채워봅시다. 눈치채셨을 겁니다. 우리 함수는 반환 유형으로 선택적 UISwipeActionsConfiguration이 필요합니다. 여기에서 Swift가 제공하는 매개변수 유형 덕분에 후행 또는 선행 스와이프 작업에 대한 여러 작업을 정의할 수 있습니다.

override func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
   let favouriteaction = UIContextualAction(style: .normal, title: "Edit") { [weak self] (action, view, completionHandler) in
      self?.handleMarkAsFavourite()
      completionHandler(true)
   }
   favouriteaction.backgroundColor = .systemBlue
   let deleteaction = UIContextualAction(style: .destructive, title: "Delete") { [weak self] (action, view, completionHandler) in
      self?.handleMoveToTrash(index: indexPath.row)
      completionHandler(true)
   }
   deleteaction.backgroundColor = .systemRed
   return UISwipeActionsConfiguration(actions: [favouriteaction, deleteaction])
}




마지막 말



이 기사에서는 UITableViewCell에 없어서는 안 될 스와이프 동작을 정의하는 방법에 대해 설명하려고 노력했습니다. 이 기사가 귀하의 응용 프로그램을 조금 더 풍부하게 하기를 바랍니다. 모두들 행복한 날들.

참조


  • Reference-1
  • Reference-2
  • Reference-3
  • Reference-4
  • 좋은 웹페이지 즐겨찾기