저는 UITableViews로 작업하기 시작했으며 코드가있는 셀의 위치를 변경하는 방법을 찾을 수 없습니다. 스토리 보드에서 위치를 변경하는 것은 간단하지만 충분히 신속하게 수행 할 수 있어야합니다.셀의 인덱스 변경
답변
TLDR;
- 데이터를 업데이트하십시오. 즉
swap(&arr[2], &arr[3])
입니다. - 데이터 변경 내용을 반영하기 위해 tableView의
reloadData()
메서드를 호출하십시오.
긴 대답
가 필요로하는 정보를 데이터 소스 (UITableViewDataSource
)를 확인하여 UITableView
작품의 인스턴스입니다. 테이블 뷰가 사용할 UITableViewCell
의 인스턴스뿐만 아니라 섹션 및 행의 수를 포함합니다. 이들은 다음 UITableViewDataSource
위임 방법으로 정의됩니다
override func numberOfSectionsInTableView(tableView: UITableView) -> Int;
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int;
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell;
일반적으로, 당신은 당신이 가진 일부 데이터, 가능성이 배열 또는 이와 유사한 용기에 전 두 기초 것입니다. - 예를 들어, 경우있는 tableView가 (다른 과일의 이름이 포함 된 문자열 목록을) fruitArray
라는 이름의 배열에서 데이터를 표시 한 후 다음과 같이 할 수도 있습니다 : 다음
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
// Our array is one dimensional, so only need one section.
// If you have an array of arrays for example, you could set this using the number of elements of your child arrays
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// Number of fruits in our array
return fruitArray.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("yourCellId") // Set this in Interface Builder
cell.textLabel?.text = fruitArray[indexPath.row]
return cell
}
을, 당신이 볼 수있는 귀하의 질문에 대한 답변이 간단 해집니다! 주어진 셀의 내용은 fruitArray
을 기반으로하므로 배열을 업데이트하기 만하면됩니다. 그러나 당신은 어떻게 tableView에 dataSource를 "다시 검사"하게합니까? 글쎄, 당신은 지금처럼 reloadData
방법을 사용하십시오
swap(&fruitArray[2], &fruitArray[3])
tableView.reloadData()
이 다음 따라서 화면에 표시하는 데이터 교환의 원인이 자사의 데이터 소스를 "다시 확인"할 수있는 tableView를 트리거!
는 세포의 위치를 교환 할 수 있도록 사용자를하고 싶은 경우, 다음과 같은 UITableViewDelegate를 사용할 수 있습니다 (안 UITableViewDataSource
) 위임 방법 :
override func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool
this article에서보기를위한 되세요 더 많은 정보. 자세한 내용은 UITableView, UITableViewDataSource 및 UITableViewDelegate에 대한 Apple 설명서를 참조하십시오.
희망이 도움이됩니다.
Jason에게 정말 감사드립니다. –
귀하의 질문에 답변이되었다고 생각되면 답변을 수락으로 표시하십시오. 감사! – Jason
- 1. GridView 셀의 셀 인덱스
- 2. 레이블로 셀의 인덱스 경로를 찾으십시오.
- 3. Datagridview 셀의 이미지 변경
- 4. 변경 XtraGridView 셀의 배경색
- 5. 셀의 VBA 트리거 변경
- 6. JTable에서 셀의 배경색 변경
- 7. WP7에서 셀의 색 변경
- 8. xamDataGrid 셀의 색상 변경
- 9. 표시된 셀의 색 변경
- 10. "재사용되는 테이블 셀의 인덱스 경로가 없습니다."사용자 지정 셀의 문제
- 11. 조건부로 서식이 지정된 셀의 색 인덱스 확인
- 12. 체크했을 때 셀의 이미지 변경
- 13. 재사용되는 셀의 유형을 변경 하시겠습니까?
- 14. iOS7에서 tableview 셀의 배경색 변경
- 15. VBA 여러 셀의 값 변경
- 16. 클래스를 사용하여 셀의 배경색 변경
- 17. 테이블 변경 셀의 UIImage를 Tap으로보기
- 18. Excel 셀의 콘텐츠 형식 변경
- 19. Excel에서 여러 셀의 값 변경
- 20. JTable 셀의 복사 동작 변경
- 21. 셀의 부동 소수점 값 변경
- 22. 셀의 클릭시 배경색 변경 금지
- 23. BandedGridview 셀의 색상 변경 Devexpress
- 24. 셀의 특정 문자 색상 변경
- 25. 자바로 셀의 스타일 표시 변경
- 26. UITableViewController에 대한 셀의 이미지 변경
- 27. 클릭시 gridview 셀의 색 변경
- 28. DataGridView 셀의 단추 색 변경
- 29. 특정 JTable 셀의 데이터 변경
- 30. 셀의 detailtextlabel 위치가 변경 되었습니까?
테이블 뷰 내에서 셀의 인덱스/순서를 변경한다고 가정합니다. tableview의 데이터 소스에서 셀의 데이터 순서를 변경하고'tableview.reloadData() '를 호출해야합니다. –