5분 동안 UITObleView를 만들어 보십시오.

11763 단어 UITableViewSwiftiOS

자기 소개


저는 순수라고 합니다. 관서를 거점으로 활동하는 전단 엔지니어입니다.
저는 HAL 오사카 3기생입니다.(2017년 05월 29일 기준)
행사와 학습회에 참가했기 때문에 만날 때 꼭 알려주세요!

이마


나 자신은 처음으로 iOS의 로컬 응용 프로그램을 썼다.
잘못된 설치가 있을 수 있으니 찾으면 PR을 던져주세요.(PR 던지기 전에 인사 같은 거 필요없다)
주의: 이번에는 코드만 있는 레이아웃과tableView를 먼저 제시했습니다.이렇게 하면 5분 안에 TableView를 만들 수 있습니다.

UITTableView를 사용하십시오.


만든 건 이런 느낌이에요.

만들어라


그럼 먼저 Xcode 프로젝트를 만들어 봅시다.
Single View Application은 문제 없습니다.

준비가 되면 바로 코드를 쓰세요.

우선 태블릿뷰를 만들어 드릴게요.

ViewController.swift만 사용합니다.
편집을 수행합니다.
우선tableView의 변수와 표시된 데이터의 배열을 저장합니다.
ViewController.swift
class ViewController: UIViewController {
  var tableView: UITableView?
  let items = ["Apple","Banana","Orange"]
}
이 변수 다음에tableView가 있습니다.
자화자찬(주:고랑 63;)이냐, 하역(주:고랑 33;)이냐, 사람에 따라 다르기 때문에 이곳은 접촉이 잘 안 된다.
그럼 실제tableView를 만드는 코드를 써 보겠습니다.
ViewController.swift
override func viewDidLoad(){
  super.viewDidLoad()

  self.tableView = {
    let tableView = UITableView(frame: self.view.bounds, style: .plain)
    tableView.autoresizingMask = [
      .flexibleWidth,
      .flexibleHeight
    ]
    self.view.addSubview(tableView)

    return tableView

  }()

}
이렇게 하면 테이블뷰를 추가할 수 있습니다.
그럼, 내가 안에 있는 것을 만들게.UITableViewCell로 내용을 구성하는 물건(사용자 정의 단원)을 만들 수도 있지만, 이번에는 label만 사용하기 때문에 사용자 정의 단원이 아닌 일반 제작이다.
우선 영역 값을 반환합니다.
ViewController.siwft
func numberOfSections(in tableView: UITableView) -> Int {
  return 1
}
어쨌든 일단 일부로 나눠서
그리고 렌더링할 칸의 개수를 되돌려줍니다.
데이터 개수만 있으면 되기 때문에 되돌아갑니다datas.count.
ViewController.swift
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
  return self.items.count
}
그럼 다음은cell주체의 기술입니다.
ViewController.swift
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
  let cell = tableView.dequeueReusableCell(withIdentifier: "Cell")
  ?? UITableViewCell(style: .default, reuseIdentifier: "Cell")

  cell.textLabel?.text = self.items[indexPath.row]

  return cell

}
이렇게 하면 단원격을 만들 수 있다.
그리고 칸을 눌렀을 때 설치하는 방법.
ViewController.swift
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
  print("Selected! \(self.items[indexPath.row])")
}
이렇게 방법의 설치가 끝났다.
하지만 이대로는 데이터가 유통되지 않는다.delegatedataSource의 설정이 반드시 이루어져야 하기 때문이다.
가장 위에서 반을 정의한 곳을 보면
ViewController.swift
class ViewController: UIViewController{
내 생각에는 이렇다. 여기서 좀 보충해 보자.
ViewController.swift
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource{
.
그리고 tableViewdelegatedataSource를 자신으로 만들기 위해
ViewController
self.tableView = {
    let tableView = UITableView(frame: self.view.bounds, style: .plain)
    tableView.autoresizingMask = [
      .flexibleWidth,
      .flexibleHeight
    ]
    self.view.addSubview(tableView)

    return tableView

  }()
여기 설치를 좀 보충해 드릴게요.
ViewController
self.tableView = {
    let tableView = UITableView(frame: self.view.bounds, style: .plain)
    tableView.autoresizingMask = [
      .flexibleWidth,
      .flexibleHeight
    ]
    tableView.delegate = self
    tableView.dataSource = self

    self.view.addSubview(tableView)

    return tableView

  }()
tableView.delegate = selftableView.dataSource = self 두 줄을 더하면 완성!
그럼 5분 안에 다 썼겠지!
실제로 색깔을 살짝 바꾸거나 헤더에navigation 같은 게 있어요.
나는 각양각색의 변화가 있을 것이라고 생각하지만, 코드 기초의tableView에 좀 익숙해지는 것도 좋다고 생각한다.

후기


이번 인코딩은 GiitHub에게 주었습니다.
konojunya/ios-code-only-tableview
만약 무슨 문제가 있으면 issue나 PR을 던져주세요!
Twitter @konojunya

좋은 웹페이지 즐겨찾기