BTNavigationDropdownMenu를 사용하여 드롭다운 메뉴 만들기
8928 단어 Swift
아이폰X 시리즈의 터미널이 주류를 이루며 위 메뉴는 최근의 흐름과 상반되지만, 초보자에게는 우선 움직이는 것을 만들면서 만드는 방법을 외우는 것이 최초의 생각이기 때문에 당분간은 개의치 않는다.
컨디션
릴리즈
OS
Mojave 10.14.1
Xcode
10.1
BTNavigationDropdownMenu
0.5
BTNavigationDropdownMenu 가져오기
CocoaPods 사용pod 'BTNavigationDropdownMenu'
Podfile에 추가합니다.$ pod install # プロジェクトのある場所で。
BaseViewController 만들기
메뉴는 기본적으로 어느 화면으로 전환하든지 사용하기 때문에 공통된BaseViewController를 만듭니다.
왼쪽 아래 "+"버튼부터 시작
File>Cocoa Touch Class를 선택합니다.(처음 엑스코드를 만졌을 때는 스위프트 클래스를 선택해 만들었고, 코코아 터치 클래스는 템플릿에 많은 것을 적은 상태에서 만들었기 때문에 기본적으로 이걸 선택하는 게 좋다.)
파일 이름은 "BaseViewController"(무엇이든 가능)입니다.
상속 클래스는 UIViewController입니다.
파일의 위치를 확인하고 작성합니다.import UIKit
import BTNavigationDropdownMenu // ①インポート
class BaseViewController: UIViewController {
@IBOutlet weak var selectedCellLabel: UILabel! // 処理確認用ラベル。
var menuView: BTNavigationDropdownMenu! // ②menuViewの準備
override func viewDidLoad() {
super.viewDidLoad()
setMenu() // ④ 下で作成した関数を呼び出し、ドロップダウンメニューを表示させる。
// Do any additional setup after loading the view.
}
// 処理は分けたい派なので関数に分けて、viewDidLoadで呼び出すようにしている。
/// ③ BTNavigationDropdownMenuをセットする関数
fileprivate func setMenu() {
let items = ["Most Popular", "Latest", "Trending", "Nearest", "Top Picks"]
self.selectedCellLabel.text = items.first
self.navigationController?.navigationBar.isTranslucent = false
self.navigationController?.navigationBar.barTintColor = UIColor(red: 0.0/255.0, green:280/255.0, blue:220/225.0, alpha: 1.0)
self.navigationController?.navigationBar.titleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.white]
menuView = BTNavigationDropdownMenu(navigationController: self.navigationController, containerView: self.navigationController!.view, title: "Dropdown Menu", items: items)
menuView.didSelectItemAtIndexHandler = {(IndexPath: Int) -> () in
print("Did select item at index: \(IndexPath)")
self.selectedCellLabel.text = items[IndexPath]
}
self.navigationItem.titleView = menuView
}
/*
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// Get the new view controller using segue.destination.
// Pass the selected object to the new view controller.
}
*/
}
BaseViewController 상속
SingleView에서 첫 번째 프로젝트를 만들면 ViewController입니다.나는 swift 파일이 있다고 생각한다.
상속된 반을 BaseViewController로 변경합니다.import UIKit
class ViewController: BaseViewController { // UIViewControllerをBaseViewControllerに変える
override func viewDidLoad() {
super.viewDidLoad()
}
}
이렇게 구축하면 사용할 수 있을 거예요.
완성도
나는 이렇게 하면 완성할 수 있다고 생각한다.오른쪽 상단의 Setting은 괜찮습니다. 개의치 마십시오.
참조 링크
CocoaPods 사용
pod 'BTNavigationDropdownMenu'
Podfile에 추가합니다.$ pod install # プロジェクトのある場所で。
BaseViewController 만들기
메뉴는 기본적으로 어느 화면으로 전환하든지 사용하기 때문에 공통된BaseViewController를 만듭니다.
왼쪽 아래 "+"버튼부터 시작
File>Cocoa Touch Class를 선택합니다.(처음 엑스코드를 만졌을 때는 스위프트 클래스를 선택해 만들었고, 코코아 터치 클래스는 템플릿에 많은 것을 적은 상태에서 만들었기 때문에 기본적으로 이걸 선택하는 게 좋다.)
파일 이름은 "BaseViewController"(무엇이든 가능)입니다.
상속 클래스는 UIViewController입니다.
파일의 위치를 확인하고 작성합니다.import UIKit
import BTNavigationDropdownMenu // ①インポート
class BaseViewController: UIViewController {
@IBOutlet weak var selectedCellLabel: UILabel! // 処理確認用ラベル。
var menuView: BTNavigationDropdownMenu! // ②menuViewの準備
override func viewDidLoad() {
super.viewDidLoad()
setMenu() // ④ 下で作成した関数を呼び出し、ドロップダウンメニューを表示させる。
// Do any additional setup after loading the view.
}
// 処理は分けたい派なので関数に分けて、viewDidLoadで呼び出すようにしている。
/// ③ BTNavigationDropdownMenuをセットする関数
fileprivate func setMenu() {
let items = ["Most Popular", "Latest", "Trending", "Nearest", "Top Picks"]
self.selectedCellLabel.text = items.first
self.navigationController?.navigationBar.isTranslucent = false
self.navigationController?.navigationBar.barTintColor = UIColor(red: 0.0/255.0, green:280/255.0, blue:220/225.0, alpha: 1.0)
self.navigationController?.navigationBar.titleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.white]
menuView = BTNavigationDropdownMenu(navigationController: self.navigationController, containerView: self.navigationController!.view, title: "Dropdown Menu", items: items)
menuView.didSelectItemAtIndexHandler = {(IndexPath: Int) -> () in
print("Did select item at index: \(IndexPath)")
self.selectedCellLabel.text = items[IndexPath]
}
self.navigationItem.titleView = menuView
}
/*
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// Get the new view controller using segue.destination.
// Pass the selected object to the new view controller.
}
*/
}
BaseViewController 상속
SingleView에서 첫 번째 프로젝트를 만들면 ViewController입니다.나는 swift 파일이 있다고 생각한다.
상속된 반을 BaseViewController로 변경합니다.import UIKit
class ViewController: BaseViewController { // UIViewControllerをBaseViewControllerに変える
override func viewDidLoad() {
super.viewDidLoad()
}
}
이렇게 구축하면 사용할 수 있을 거예요.
완성도
나는 이렇게 하면 완성할 수 있다고 생각한다.오른쪽 상단의 Setting은 괜찮습니다. 개의치 마십시오.
참조 링크
import UIKit
import BTNavigationDropdownMenu // ①インポート
class BaseViewController: UIViewController {
@IBOutlet weak var selectedCellLabel: UILabel! // 処理確認用ラベル。
var menuView: BTNavigationDropdownMenu! // ②menuViewの準備
override func viewDidLoad() {
super.viewDidLoad()
setMenu() // ④ 下で作成した関数を呼び出し、ドロップダウンメニューを表示させる。
// Do any additional setup after loading the view.
}
// 処理は分けたい派なので関数に分けて、viewDidLoadで呼び出すようにしている。
/// ③ BTNavigationDropdownMenuをセットする関数
fileprivate func setMenu() {
let items = ["Most Popular", "Latest", "Trending", "Nearest", "Top Picks"]
self.selectedCellLabel.text = items.first
self.navigationController?.navigationBar.isTranslucent = false
self.navigationController?.navigationBar.barTintColor = UIColor(red: 0.0/255.0, green:280/255.0, blue:220/225.0, alpha: 1.0)
self.navigationController?.navigationBar.titleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.white]
menuView = BTNavigationDropdownMenu(navigationController: self.navigationController, containerView: self.navigationController!.view, title: "Dropdown Menu", items: items)
menuView.didSelectItemAtIndexHandler = {(IndexPath: Int) -> () in
print("Did select item at index: \(IndexPath)")
self.selectedCellLabel.text = items[IndexPath]
}
self.navigationItem.titleView = menuView
}
/*
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// Get the new view controller using segue.destination.
// Pass the selected object to the new view controller.
}
*/
}
SingleView에서 첫 번째 프로젝트를 만들면 ViewController입니다.나는 swift 파일이 있다고 생각한다.
상속된 반을 BaseViewController로 변경합니다.
import UIKit
class ViewController: BaseViewController { // UIViewControllerをBaseViewControllerに変える
override func viewDidLoad() {
super.viewDidLoad()
}
}
이렇게 구축하면 사용할 수 있을 거예요.완성도
나는 이렇게 하면 완성할 수 있다고 생각한다.오른쪽 상단의 Setting은 괜찮습니다. 개의치 마십시오.
참조 링크
라이브러리 링크
Reference
이 문제에 관하여(BTNavigationDropdownMenu를 사용하여 드롭다운 메뉴 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Rino-T/items/8089ee315406ca83a63c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)