탭 교환을 통한 화면 전환 메뉴 UI
스마트뉴스와 지노시 등 뉴스 애플리케이션에서 많이 사용되는데, 인스타그램, 트위터, 스포티파이 등 많은 애플리케이션에서 사용하는 UI를 간단하게 구현할 수 있는 프로그램 라이브러리가 최근 공개됐다.
yysskk/SwipeMenuViewController
데모
SwipeMenuview는 두 가지 스타일에 대응하여 다음과 같은 프레젠테이션의 외관을 실현할 수 있다.또한 UI의 사용자 정의 및 태그 표시줄 동작은 options를 지정하여 대응할 수 있습니다.
Segmented style
Flexible style
가져오기 방법
Cocopods 및 Carrthage가 지원됩니다.
Cocoapods를 사용할 때는
Podfile
에 다음과 같은 내용pod install
을 보충하십시오.pod 'SwipeMenuViewController'
Carthage를 사용할 때는 Cartfile
에 다음carthage update
을 추가하고 Carthage를 설정합니다.github "yysskk/SwipeMenuViewController"
사용법
SwipeMenuViewController
SwipeMenuView
와 SwipeMenuViewController
를 사용할 수 있습니다.SwipeMenuView
1) 사용법은 여러가지 있지만 스토리보드에 설치된 UIView는 상속
SwipeMenuView
하고 ViewController.swift
와 연관된다.2) swipe MenuView
didSet
에 옵션의 사용자 정의 설정을 적습니다.ViewController.swift
@IBOutlet weak var swipeMenuView: SwipeMenuView! {
didSet {
swipeMenuView.delegate = self
swipeMenuView.dataSource = self
var options: SwipeMenuViewOptions = .init()
// options customize
swipeMenuView.reload(options: options)
}
}
3) ViewControllerSwipeMenuViewDataSource
를 설정합니다.ViewController.swift
extension ViewController: SwipeMenuViewDataSource
func numberOfPages(in swipeMenuView: SwipeMenuView) -> Int {
return datas.count
}
func swipeMenuView(_ swipeMenuView: SwipeMenuView, titleForPageAt index: Int) -> String {
return datas[index]
}
func swipeMenuView(_ swipeMenuView: SwipeMenuView, viewControllerForPageAt index: Int) -> UIViewController {
let vc = ViewController()
return vc
}
}
4) ViewController에서 적절한 방법SwipeMenuViewDelegate
을 설정합니다.ViewController.swift
extension ViewController: SwipeMenuViewDelegate {
func swipeMenuView(_ swipeMenuView: SwipeMenuView, viewWillSetupAt currentIndex: Int) {
// Codes
}
func swipeMenuView(_ swipeMenuView: SwipeMenuView, viewDidSetupAt currentIndex: Int) {
// Codes
}
func swipeMenuView(_ swipeMenuView: SwipeMenuView, willChangeIndexFrom fromIndex: Int, to toIndex: Int) {
// Codes
}
func swipeMenuView(_ swipeMenuView: SwipeMenuView, didChangeIndexFrom fromIndex: Int, to toIndex: Int) {
// Codes
}
}
SwipeMenuViewController
1) SwipeMenuViewController를 사용할 때 ViewController 파일이 SwipeMenuViewController를 계승하도록 설정할 수 있습니다.
CustomViewController.swift
class CustomViewController: SwipeMenuViewController {
override func viewDidLoad() {
super.viewDidLoad()
var options: SwipeMenuViewOptions = .init()
// options customize
swipeMenuView.reloadData(options: options)
}
}
2) 적당히 SwipeMenuViewDataSource
,SwipeMenuViewDelegate
를 다시 쓰십시오.CustomViewController.swift
extension CustomViewController {
// MARK: - SwipeMenuViewDelegate
override func swipeMenuView(_ swipeMenuView: SwipeMenuView, viewWillSetupAt currentIndex: Int) {
// Codes
}
override func swipeMenuView(_ swipeMenuView: SwipeMenuView, viewDidSetupAt currentIndex: Int) {
// Codes
}
override func swipeMenuView(_ swipeMenuView: SwipeMenuView, willChangeIndexFrom fromIndex: Int, to toIndex: Int) {
// Codes
}
override func swipeMenuView(_ swipeMenuView: SwipeMenuView, didChangeIndexFrom fromIndex: Int, to toIndex: Int) {
// Codes
}
// MARK - SwipeMenuViewDataSource
open override func numberOfPages(in swipeMenuView: SwipeMenuView) -> Int {
return array.count
}
override func swipeMenuView(_ swipeMenuView: SwipeMenuView, titleForPageAt index: Int) -> String {
return array[index]
}
override func swipeMenuView(_ swipeMenuView: SwipeMenuView, viewControllerForPageAt index: Int) -> UIViewController {
let vc = ContentViewController()
return vc
}
}
최후
SwipeMenuViewController의 사용 방법은 다음과 같습니다.만약 이해하지 못하는 부분이 있다면 댓글이나 트위터를 남겨주세요!
앞으로 OSS 활동도 잘해야겠다는 마음으로 프로그램 라이브러리화
더 좋은 게 있다면 홍보를 기다리고 있을게요
Reference
이 문제에 관하여(탭 교환을 통한 화면 전환 메뉴 UI), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yysskk/items/fe4cdd58209384270ce3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)