화장품 APPLIPS에서도 사용하는 PageMenu의 가져오기 방법 [Swift3] [Swift4도]
10435 단어 Swift
LIPS에서도 사용되는 PageMenu
Cocoapods로 PageMenu를 설치하면 오류가 발생합니다.
Swift3 이전의 물건은 Cocopods에서 사용된다.따라서 Giithub에서 복제해야 합니다PageMenu의 Giithub 파일이 여기 있습니다.
Swift Version을 3.3으로 축소
아직 스위프트 4에 대응하지 않았기 때문에 4로 수정하는 것보다 버전을 3.3으로 낮추는 것이 수월하다.
PageMenuViewController.swiftclass PageMenuViewController: UIViewController {
var pageMenu: CAPSPageMenu?
override func viewDidLoad() {
super.viewDidLoad()
//ストーリーボードのFavListTableViewControllerを取得する必要がある
let vc1 = storyboard?.instantiateViewController(withIdentifier: "FavListTableViewController") as! FavListTableViewController
let vc2 = storyboard?.instantiateViewController(withIdentifier: "FavListTableViewController") as! FavListTableViewController
let vc3 = storyboard?.instantiateViewController(withIdentifier: "FavListTableViewController") as! FavListTableViewController
let vc4 = storyboard?.instantiateViewController(withIdentifier: "FavListTableViewController") as! FavListTableViewController
let vc5 = storyboard?.instantiateViewController(withIdentifier: "FavListTableViewController") as! FavListTableViewController
//TableViewはViewControllerのViewのサブクラスなのでViewが生成されてからじゃないと作れない
_ = vc1.view
_ = vc2.view
_ = vc3.view
_ = vc4.view
_ = vc5.view
vc1.title = "リスト1"
vc2.title = "リスト2"
vc3.title = "リスト3"
vc4.title = "リスト4"
vc5.title = "リスト5"
vc1.listNum = 1
vc2.listNum = 2
vc3.listNum = 3
vc4.listNum = 4
vc5.listNum = 5
let parameters: [CAPSPageMenuOption] = [
.menuItemSeparatorWidth(4.0),
.useMenuLikeSegmentedControl(true),
.menuItemSeparatorPercentageHeight(0.0)
]
pageMenu = CAPSPageMenu(viewControllers: [vc1, vc2, vc3, vc4, vc5], frame: view.bounds, pageMenuOptions: parameters)
view.addSubview(pageMenu!.view)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// PageMenuがNavigationBarと被らないように
override func viewDidLayoutSubviews() {
let naviHeight = UIApplication.shared.statusBarFrame.size.height + self.navigationController!.navigationBar.frame.height
pageMenu!.view.frame = CGRect(x: 0.0, y: naviHeight, width: self.view.frame.width, height: self.view.frame.height - naviHeight)
print(#function)
// let tabHeight = self.tabBarController?.tabBar.frame.size.height
}
}
제 경우는 스토리보드에 UI View Controller의 F avList Table View Controller를 설정해서 Storyboard ID로 그걸 얻었습니다.ViewController의 규칙으로 UIViewController에 배치된 UIKit 부품은 UIView로 불린 후에는 이름이 알려지지 않습니다.내 상자 안에 UITObleView를 넣었다.
PageMenu의 Giithub 문서에서 제목과parameters를 지정하고ddSubView를 진행합니다.
Reference
이 문제에 관하여(화장품 APPLIPS에서도 사용하는 PageMenu의 가져오기 방법 [Swift3] [Swift4도]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hi_erica_/items/7334192299e84a4fa069
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
class PageMenuViewController: UIViewController {
var pageMenu: CAPSPageMenu?
override func viewDidLoad() {
super.viewDidLoad()
//ストーリーボードのFavListTableViewControllerを取得する必要がある
let vc1 = storyboard?.instantiateViewController(withIdentifier: "FavListTableViewController") as! FavListTableViewController
let vc2 = storyboard?.instantiateViewController(withIdentifier: "FavListTableViewController") as! FavListTableViewController
let vc3 = storyboard?.instantiateViewController(withIdentifier: "FavListTableViewController") as! FavListTableViewController
let vc4 = storyboard?.instantiateViewController(withIdentifier: "FavListTableViewController") as! FavListTableViewController
let vc5 = storyboard?.instantiateViewController(withIdentifier: "FavListTableViewController") as! FavListTableViewController
//TableViewはViewControllerのViewのサブクラスなのでViewが生成されてからじゃないと作れない
_ = vc1.view
_ = vc2.view
_ = vc3.view
_ = vc4.view
_ = vc5.view
vc1.title = "リスト1"
vc2.title = "リスト2"
vc3.title = "リスト3"
vc4.title = "リスト4"
vc5.title = "リスト5"
vc1.listNum = 1
vc2.listNum = 2
vc3.listNum = 3
vc4.listNum = 4
vc5.listNum = 5
let parameters: [CAPSPageMenuOption] = [
.menuItemSeparatorWidth(4.0),
.useMenuLikeSegmentedControl(true),
.menuItemSeparatorPercentageHeight(0.0)
]
pageMenu = CAPSPageMenu(viewControllers: [vc1, vc2, vc3, vc4, vc5], frame: view.bounds, pageMenuOptions: parameters)
view.addSubview(pageMenu!.view)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// PageMenuがNavigationBarと被らないように
override func viewDidLayoutSubviews() {
let naviHeight = UIApplication.shared.statusBarFrame.size.height + self.navigationController!.navigationBar.frame.height
pageMenu!.view.frame = CGRect(x: 0.0, y: naviHeight, width: self.view.frame.width, height: self.view.frame.height - naviHeight)
print(#function)
// let tabHeight = self.tabBarController?.tabBar.frame.size.height
}
}
Reference
이 문제에 관하여(화장품 APPLIPS에서도 사용하는 PageMenu의 가져오기 방법 [Swift3] [Swift4도]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hi_erica_/items/7334192299e84a4fa069텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)