XLPagerTabStrip으로 태그 만들기

4961 단어 SwiftiOS
XLPagerTabStrip을 활용할 기회가 있으므로 사용 방법을 미리 기록합니다.

1. Carrthage 또는 Cocorpods를 통해 프로젝트에 추가

github "xmartlabs/XLPagerTabStrip" ~> 8.0
pod ‘XLPagerTabStrip’
세부 단계를 생략합니다.

2. New File에서 UIViewController 만들기


다음 2개의 ViewController를 준비해야 합니다.
(1) 태그 관리를 위한 ViewController
(2) 태그 컨텐트 ViewController
(1) Notebook ViewController
New File에서 UIViewController를 계승하는 반을 만든 후 계승으로 변경ButtonBarPagerTabStripViewController
class NotebookViewController: ButtonBarPagerTabStripViewController {
(2) No tebook Table ViewController
class NotebookTableViewController: UIViewController {

3. Storyboard 설정


이 부분은 README를 읽어도 이해가 안 가요.
  • 빈 ViewController
  • 추가
  • 추가된 ViewController에 CollectionView 및 ScrollView 추가
    또한 CollectionView의 Cell은 삭제되지 않고 그대로 유지됩니다
  • .
  • 추가 ViewController에서 control 키를 누르면서 ScrollView 선택
    표시할 container View
  • 선택
  • 추가된 ViewController에서 control 키를 눌러 CollectionView를 선택합니다.
    표시할 buttonBarView
  • 선택

    여기까지 하면 다음과 같은 표시일 것이다
  • CollectionView Class
    Buton BarView 설정, Module에서 XLPagerTabStrip
  • 설정
  • CollectionView Cell
    Buttton BarViewCell 설정, Module에서 XLPagerTabStrip
  • 설정

    4. 태그 컨텐트 ViewController 설정


    탭 내용을 여는 ViewController(Notebook TableView)
    아래와 같다
    해당 레벨에서 상속IndicatorInfoProviderfunc indicatorInfo(for pagerTabStripController: PagerTabStripViewController) -> IndicatorInfo의 반환 값에 레이블 섹션에 표시되는 이름을 설정해야 합니다.
    import UIKit
    import XLPagerTabStrip
    
    class NotebookTableViewController: UIViewController {
    
        var noteBookName: IndicatorInfo = ""
    
        override func viewDidLoad() {
            super.viewDidLoad()
        }
    
        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
        }
    }
    
    extension NotebookTableViewController: IndicatorInfoProvider {
    
        func indicatorInfo(for pagerTabStripController: PagerTabStripViewController) -> IndicatorInfo {
            return noteBookName
        }
    }
    

    5. 태그 관리를 위한 ViewController 설정


    이 반에서 위에 쓴 것처럼
    상속ButtonBarPagerTabStripViewControllerfunc viewControllers(for pagerTabStripController: PagerTabStripViewController) -> [UIViewController]및 태그 컨텐트를 덮어쓰는 ViewController를 반환값으로 정렬해야 합니다.
        override func viewControllers(for pagerTabStripController: PagerTabStripViewController) -> [UIViewController] {
            var vcs: [UIViewController] = []
            let table1 =  UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "notebook_table") as! NotebookTableViewController
            table1.noteBookName = "Notebook1"
            vcs.append(table1)
            let table2 =  UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "notebook_table") as! NotebookTableViewController
            table2.noteBookName = "Notebook2"
            vcs.append(table2)
            return vcs
        }
    

    6. 스타일 설정


    viewDidLoad에서 관리 태그에 대한 ViewController 설정
    스타일의 설정은 슈퍼입니다.viewDidLoad() 이전에 기술해야 함
    override func viewDidLoad() {
            // タブの背景色
            settings.style.buttonBarBackgroundColor = UIColor.lightGray
            // タブの色
            settings.style.buttonBarItemBackgroundColor = UIColor.lightGray
            // タブの文字サイズ
            settings.style.buttonBarItemFont = UIFont.systemFont(ofSize: 15)
            // カーソルの色
            buttonBarView.selectedBar.backgroundColor = UIColor.darkGray
            super.viewDidLoad()
        }
    
    이렇게 하면 다음과 같은 내용이 나타날 것이다.

    7.기타


    동적 탭 추가 등 디스플레이를 업데이트하려면 아래 이름을 사용하십시오reloadPagerTabStripView()하면, 만약, 만약...func viewControllers(for pagerTabStripController: PagerTabStripViewController) -> [UIViewController]페이지를 추가할 수 있는 대화상자입니다.

    좋은 웹페이지 즐겨찾기