반응형
난이도: 하
@available(iOS 5.0, *)
public var multipleSelectionBackgroundView: UIView?
public var selected: Bool // set selected state (title, image, background). default is NO. animated is NO
다중 선택과 체크마크가 필요해서 간단하게 구현하는 방법을 공유하겠다. 오래전에는 이것도 구현을 했었어야 했던 기억이 있는데 엄청 간단하게 바뀌었다.
우선 다중 선택이 가능하게 하기 위해서는 아래 처럼 코드 상으로 다중 선택을 활성화 하거나,
self.tableView!.multipleTouchEnabled = true
스토리보드의 TableView에서 select 부분을 Multiple Selection을 선택을 한다.
그리고 아래 코드처럼 간단하게 구현을 하면 된다.
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)
// 1.
cell.accessoryType = cell.selected ? .Checkmark : .None
return cell
}
// 2.
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
if let cell = tableView.cellForRowAtIndexPath(indexPath) {
cell.accessoryType = .Checkmark
}
}
// 3.
override func tableView(tableView: UITableView, didDeselectRowAtIndexPath indexPath: NSIndexPath) {
if let cell = tableView.cellForRowAtIndexPath(indexPath) {
cell.accessoryType = .None
}
}
- 현재 셀(cell)이 선택 되어 있으냐 아니냐에 따라서 체크 마크를 표시한다.
- 선택(select) 되었을 때는 체크 마크로 변경 한다.
- 선택 해제(Deselect) 되었을 때는 체크 마크를 제거 한다.
반응형
'iDev > iOS Dev' 카테고리의 다른 글
스토리보드 사용해서 디폴트 탭 설정하기 (0) | 2016.01.26 |
---|---|
Touch ID/Passcode 적용하기 (0) | 2016.01.23 |
iOS 8 Today Extension(Widget) 여백 없애는 방법 (1) | 2014.10.11 |
iOS 버전 호환 간단 버전 (0) | 2014.03.16 |
iOS GameCenter에 로그인 안될 때 (0) | 2014.03.14 |