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 ViewControllerclass NotebookTableViewController: UIViewController {
3. Storyboard 설정
이 부분은 README를 읽어도 이해가 안 가요.
또한 CollectionView의 Cell은 삭제되지 않고 그대로 유지됩니다
표시할 container View
표시할 buttonBarView
여기까지 하면 다음과 같은 표시일 것이다
Buton BarView 설정, Module에서 XLPagerTabStrip
Buttton BarViewCell 설정, Module에서 XLPagerTabStrip
4. 태그 컨텐트 ViewController 설정
탭 내용을 여는 ViewController(Notebook TableView)
아래와 같다
해당 레벨에서 상속
IndicatorInfoProvider
func 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 설정
이 반에서 위에 쓴 것처럼
상속
ButtonBarPagerTabStripViewController
func 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]
페이지를 추가할 수 있는 대화상자입니다.
Reference
이 문제에 관하여(XLPagerTabStrip으로 태그 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/glp/items/733e95686298e1326b57텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)