BTNavigationDropdownMenu를 사용하여 드롭다운 메뉴 만들기

8928 단어 Swift
저는 iOS 응용 개발의 책임자를 맡아서 업무와 개인이 모두 하고 싶은 iOS 응용 개발을 배웠습니다.
아이폰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은 괜찮습니다. 개의치 마십시오.

참조 링크

  • https://qiita.com/ShirataHikaru/items/57051f14d1795897523d
  • 라이브러리 링크

  • https://github.com/PhamBaTho/BTNavigationDropdownMenu
  • 좋은 웹페이지 즐겨찾기