[Swift] 스크롤 위치에 고정된 도구 모음

기사가 이동되었습니다.


https://zenn.dev/dd_sho/articles/0d630906e868cb
앞으로 상술한 보도로 갱신한다.(2021/10/03)
아래 그림과 같이 일정량 스크롤하면 고정되는 도구막대(녹색 표시줄)를 설치해 봤기 때문에 메모로 글을 씁니다.
이루는 방법이 많지만 개인적으로 가장 쉬운 방법이라고 생각해요.
액션인상↓↓

개발 환경


Xcode 10.0
Swift 4.2

실제 이미지


소스 코드 여기 있습니다 (잠시 후 업로드)

관련 부분의 발췌문


다음은 스크롤한 후 고정된 도구막대 설치와 관련된 부분의 요약입니다.

① TableHeaderView 설정


SampleViewController.swift
// viewDidLoadで下記のメソッドを呼ぶ
private func setupSampleHeaderView() {
    // 自作したtableHeaderView用のView
    sampleHeaderView.frame = CGRect(x: 0,
                                    y: 0,
                                    width: UIScreen.main.bounds.width,
                                    height: HEADER_HEIGHT)
    sampleTableView.tableHeaderView = sampleHeaderView
}

② Section HeaderView 설정


SampleViewController.swift
// MARK: - UITableViewDelegate
extension SampleViewController: UITableViewDelegate {

    func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {

        let sectionView = SampleSectionView(frame: CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: 52))

        // sectionView内のボタンをタップした時の処理
        sectionView.tabButtonPressedBlock = {
            print("Did tap button")
        }
        return sectionView
    }

    func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
        // 適当な高さ
        return 52.0
    }
}
일반적인 TableView 구현 외에도 ① ② 구현을 수행하면 가능합니다.

총결산


생각보다 간단히 이루어졌다.TableView 섹션을 도구막대로 구현하는 게 포인트죠.
꼭 해보세요.

좋은 웹페이지 즐겨찾기