Apr 9, 2021, TIL (Today I Learned) - UITableView, Cell, DataSource, Delegate
学習内容
UItableViewとは?
iOSアプリケーションで情報をリスト表示するためのユーザーインタフェース.
UItableView Cellとは?
UItableViewCellがUIViewを継承
table viewのセルは、各テーブルビューを構成する個別の行(row)を表す.
当たり前のように聞こえるかもしれませんが、TableViewCellはUITableViewCell Class
を継承します.
表ビューユニットの構造
標準テーブルビューユニットは、デフォルトではコンテンツ領域のみを含むことも、補助ビュー領域を含むこともできます.
[ソース]:UITableViewCell | Apple Developer Documentation
編集モードでは、次の機能を追加できます.
テープビューユニットの基本機能
IndexPath(for:)
func indexPath(for cell: UITableViewCell) -> IndexPath?
class ItemTableViewController: UITableViewController {
var items: [Item] = []
.
.
.
guard let cell = self.tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as? ItemTableViewCell else {
return UITableViewCell()
}
cell.itemName.text = items[indexPath.row].name
}
indexPathはtableView行を識別するインデックスパスです.cell.itemName.text = items[indexPath.row].name
上のコードを理解すればtableview行の位置
itemsという名前の配列では、
私はそれをitemNameのテキストに書くことができます.
UITableView DataSource
Protocol
を使用します. 위임
を送信することで、次の機能を実行できます. @required
// 특정 위치에 표시할 셀을 요청하는 메서드
func tableView(UITableView, cellForRowAt: IndexPath)
// 각 섹션에 표시할 행의 개수를 묻는 메서드
func tableView(UITableView, numberOfRowsInSection: Int)
@optional
// 테이블뷰의 총 섹션 개수를 묻는 메서드
func numberOfSections(in: UITableView)
// 특정 섹션의 헤더 혹은 푸터 타이틀을 묻는 메서드
func tableView(UITableView, titleForHeaderInSection: Int)
func tableView(UITableView, titleForFooterInSection: Int)
// 특정 위치의 행을 삭제 또는 추가 요청하는 메서드
func tableView(UITableView, commit: UITableViewCellEditingStyle, forRowAt: IndexPath)
// 특정 위치의 행이 편집 가능한지 묻는 메서드
func tableView(UITableView, canEditRowAt: IndexPath)
// 특정 위치의 행을 재정렬 할 수 있는지 묻는 메서드
func tableView(UITableView, canMoveRowAt: IndexPath)
// 특정 위치의 행을 다른 위치로 옮기는 메서드
func tableView(UITableView, moveRowAt: IndexPath, to: IndexPath)
[ソース]:iOSアプリケーションプログラミング>3)DataSourceとDelegate?:boostcourseUITableViewDelegate
Protocol
を使用します.위임
を送信することで、次の機能を実行できます.// 특정 위치 행의 높이를 묻는 메서드
func tableView(UITableView, heightForRowAt: IndexPath)
// 특정 위치 행의 들여쓰기 수준을 묻는 메서드
func tableView(UITableView, indentationLevelForRowAt: IndexPath)
// 지정된 행이 선택되었음을 알리는 메서드
func tableView(UITableView, didSelectRowAt: IndexPath)
// 지정된 행의 선택이 해제되었음을 알리는 메서드
func tableView(UITableView, didDeselectRowAt: IndexPath)
// 특정 섹션의 헤더뷰 또는 푸터뷰를 요청하는 메서드
func tableView(UITableView, viewForHeaderInSection: Int)
func tableView(UITableView, viewForFooterInSection: Int)
// 특정 섹션의 헤더뷰 또는 푸터뷰의 높이를 물어보는 메서드
func tableView(UITableView, heightForHeaderInSection: Int)
func tableView(UITableView, heightForFooterInSection: Int)
// 테이블뷰가 편집모드에 들어갔음을 알리는 메서드
func tableView(UITableView, willBeginEditingRowAt: IndexPath)
// 테이블뷰가 편집모드에서 빠져나왔음을 알리는 메서드
func tableView(UITableView, didEndEditingRowAt: IndexPath?)
[ソース]:iOSアプリケーションプログラミング>3)DataSourceとDelegate?:boostcourse[参考資料]
UITableViewCell | Apple Developer Documentation
UITableViewDataSource | Apple Developer Documentation
UITableViewDelegate | Apple Developer Documentation
iOSアプリケーションプログラミング>2)table viewerとは?boostcourse
Table ViewコードのindexPath|VincentGenranium Blogの学習
Mind Map
Reference
この問題について(Apr 9, 2021, TIL (Today I Learned) - UITableView, Cell, DataSource, Delegate), 我々は、より多くの情報をここで見つけました
https://velog.io/@inwoodev/Apr-9-2021-TIL-Today-I-Learned-UITableView-Cell-DataSource-Delegate
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について(Apr 9, 2021, TIL (Today I Learned) - UITableView, Cell, DataSource, Delegate), 我々は、より多くの情報をここで見つけました https://velog.io/@inwoodev/Apr-9-2021-TIL-Today-I-Learned-UITableView-Cell-DataSource-Delegateテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol