//
|
// HomeDetailVC.swift
|
// BrokerDriver
|
//
|
// Created by 无故事王国 on 2023/4/25.
|
//
|
|
import UIKit
|
import FFPage
|
import SPPageMenu
|
|
let Shrink_Noti = Notification.Name.init("Shrink_Noti")
|
|
class HomeDetailVC: BaseViewController {
|
|
private(set) var orderId:String!
|
private(set) var type:Int!
|
|
weak var adapterVC:FFAdapterViewController?
|
var pageViewController:FFPageViewController!
|
var headerViewController:HomeDetailMapVC!
|
var menuViewController:HomeDetailMenuVC!
|
|
required init(orderId:String,type:Int) {
|
super.init(nibName: nil, bundle: nil)
|
self.orderId = orderId
|
self.type = type
|
}
|
|
required init?(coder: NSCoder) {
|
fatalError("init(coder:) has not been implemented")
|
}
|
|
override func viewDidLoad() {
|
super.viewDidLoad()
|
|
pageViewController = FFPageViewController()
|
pageViewController.delegate = self
|
|
menuViewController = HomeDetailMenuVC()
|
headerViewController = HomeDetailMapVC(orderId: orderId)
|
|
let adapterViewController = FFAdapterViewController()
|
adapterViewController.headHeight = JQ_ScreenW * 0.6
|
adapterViewController.menuHeight = 46
|
adapterViewController.style = .subRefresh
|
adapterViewController.ignoreTopSpeace = topSafeHeight
|
adapterViewController.headViewController = headerViewController
|
adapterViewController.menuViewController = menuViewController
|
adapterViewController.pageViewController = pageViewController
|
adapterVC = adapterViewController
|
|
addChild(adapterViewController)
|
view.insertSubview(adapterViewController.view, at: 0)
|
adapterViewController.didMove(toParent: self)
|
adapterViewController.view.frame = view.frame
|
menuViewController.pageMenu.delegate = self
|
menuViewController.pageMenu.bridgeScrollView = pageViewController!.scrollview
|
}
|
|
override func setUI() {
|
super.setUI()
|
|
}
|
|
|
override func setRx() {
|
NotificationCenter.default.rx.notification(Shrink_Noti).take(until: self.rx.deallocated).subscribe(onNext: {[weak self] noti in
|
if let obj = noti.object as? Bool{
|
let headHei = obj ? JQ_ScreenW * 0.6 : JQ_ScreenH
|
self?.adapterVC?.headHeight = headHei
|
self?.adapterVC?.updateHeight(withAnimation: true)
|
}
|
}).disposed(by: disposeBag)
|
}
|
}
|
|
|
extension HomeDetailVC:SPPageMenuDelegate{
|
func pageMenu(_ pageMenu: SPPageMenu, itemSelectedAt index: Int) {
|
self.pageViewController.scroll(toPage: index, animation: true)
|
}
|
}
|
|
extension HomeDetailVC:FFPageViewControllerDelegate {
|
|
func pageViewController(_ pageViewController: FFPageViewController, currentPageChanged currentPage: Int) {
|
menuViewController.pageMenu.selectedItemIndex = currentPage
|
}
|
|
func totalPagesOfpageViewController(_ pageViewConteoller: FFPageViewController) -> UInt {
|
return 3
|
}
|
|
func pageViewController(_ pageViewConteoller: FFPageViewController, controllerForPage page: Int) -> UIViewController {
|
if page == 0{
|
let vc = HomeDetailContentVC(orderId: orderId,type: type)
|
vc.adapterViewController = adapterVC
|
return vc
|
}else if page == 1{
|
let vc = HomeDetailAttachVC(orderId: orderId)
|
vc.adapterViewController = adapterVC
|
return vc
|
}else if page == 2{
|
let vc = HomeDetailNoteVC(orderId: orderId)
|
vc.adapterViewController = adapterVC
|
return vc
|
}
|
|
return UIViewController()
|
}
|
}
|