[Swift] 스크롤 위치에 고정된 도구 모음
5182 단어 UITableViewSwiftscrolltoobar
기사가 이동되었습니다.
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 섹션을 도구막대로 구현하는 게 포인트죠.
꼭 해보세요.
Reference
이 문제에 관하여([Swift] 스크롤 위치에 고정된 도구 모음), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/s_emoto/items/c01190903493f56f0682
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
// viewDidLoadで下記のメソッドを呼ぶ
private func setupSampleHeaderView() {
// 自作したtableHeaderView用のView
sampleHeaderView.frame = CGRect(x: 0,
y: 0,
width: UIScreen.main.bounds.width,
height: HEADER_HEIGHT)
sampleTableView.tableHeaderView = sampleHeaderView
}
// 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
}
}
Reference
이 문제에 관하여([Swift] 스크롤 위치에 고정된 도구 모음), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/s_emoto/items/c01190903493f56f0682텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)