Commit 659cf11f authored by David黄金龙's avatar David黄金龙

banner 跳转

parent 2f3c1e45
......@@ -39,6 +39,11 @@ class YHHomePageViewController: YHBaseViewController {
getData()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
loadFirstData()
}
lazy var searchView: YHHomeSearchView = {
let view = YHHomeSearchView()
let tap = UITapGestureRecognizer(target: self, action: #selector(didSearchBarClicked))
......
......@@ -12,7 +12,7 @@ class YHBannerModel: YHBaseModel {
var name: String = ""
var skip_url: String = ""
var img_url: String = ""
var type: Int = 0
var type: Int = 0//banner 跳转类型:0-不跳转,1-跳转H5,2-跳转APP内Tab,3-跳转资讯页
var create_at: String = ""
var skip_type: Int = 0
var id: Int = 0
......
......@@ -11,12 +11,7 @@ import FSPagerView
import Kingfisher
class YHHomeBannerView: UIView {
// MARK: - constant 常量
static let viewH : CGFloat = KScreenWidth - 20 * 2
// 位置、大小、图片、文本
var dataArr: [YHBannerModel] = [] {
didSet {
self.pageControl.numberOfPages = self.dataArr.count
......@@ -40,7 +35,6 @@ class YHHomeBannerView: UIView {
view.automaticSlidingInterval = 4
view.register(FSPagerViewCell.self, forCellWithReuseIdentifier: "cell")
view.itemSize = FSPagerView.automaticSize
// view.interitemSpacing = 10
return view
}()
......@@ -83,6 +77,27 @@ private extension YHHomeBannerView {
self.pageControl.interitemSpacing = 3
}
func goAppTab(tabBarName : String) {
if !tabBarName.isEmpty {
if tabBarName.contains("tabBarHome",caseSensitive: false) {
//首页
goTabBarBy(tabType: .home)
} else if tabBarName.contains("tabBarService",caseSensitive: false) {
//服务中心
goTabBarBy(tabType: .service)
} else if tabBarName.contains("tabBarMsg",caseSensitive: false) {
//消息
goTabBarBy(tabType: .message)
} else if tabBarName.contains("tabBarMine",caseSensitive: false) {
//我的
goTabBarBy(tabType: .mine)
} else {
}
}
}
}
extension YHHomeBannerView: FSPagerViewDataSource, FSPagerViewDelegate {
......@@ -110,7 +125,6 @@ extension YHHomeBannerView: FSPagerViewDataSource, FSPagerViewDelegate {
}
// MARK: - FSPagerView Delegate
func pagerView(_ pagerView: FSPagerView, didSelectItemAt index: Int) {
pagerView.deselectItem(at: index, animated: true)
pagerView.scrollToItem(at: index, animated: true)
......@@ -118,20 +132,27 @@ extension YHHomeBannerView: FSPagerViewDataSource, FSPagerViewDelegate {
return
}
let model = dataArr[index]
if model.skip_url.isEmpty == false {
switch model.type {
case 10: //跳转H5
// let vc = BsWebViewController()
// vc.urlString = model.link_url
// UIViewController.navTopViewController?.navigationController?.pushViewController(vc, animated: true)
break
case 20: //跳转原生页面
if let vc = UIViewController.classFromString(model.skip_url) {
UIViewController.navTopViewController?.navigationController?.pushViewController(vc, animated: true)
}
break
case 1: //跳转H5
let vc = YHHomeWebViewController()
vc.url = model.skip_url
self.parentViewController?.navigationController?.pushViewController(vc)
case 2: //跳转APP内Tab
goAppTab(tabBarName:model.skip_url)
case 3://3-跳转资讯页
let vc = YHHomeWebViewController()
vc.url = model.skip_url
self.parentViewController?.navigationController?.pushViewController(vc)
case 0://0 不需要跳转
printLog("0 不需要跳转")
default:
YHHUD.flash(message: "不需要处理的类型")
break
}
} else {
YHHUD.flash(message: "error:skip_url不能为空")
}
}
func pagerViewWillEndDragging(_ pagerView: FSPagerView, targetIndex: Int) {
......
......@@ -125,6 +125,38 @@ func isIphoneX() -> Bool {
return k_Height_safeAreaInsetsBottom() > 0.0 // 底部安全区 > 0 时,
}
enum tabBarPageType : Int {
case home
case service
case message
case mine
}
func goTabBarBy(tabType : tabBarPageType) {
var tabIndex : Int = 0
switch tabType {
case .home:
tabIndex = 0
case .service:
tabIndex = 1
case .message:
tabIndex = 2
case .mine:
tabIndex = 3
}
if let vc = UIApplication.shared.keyWindow?.rootViewController as? YHTabBarViewController {
vc.selectedIndex = tabIndex
}
}
class YhConstant {
// MARK: - 登录信息
static let KLoginedInfoKey = "KLoginedInfoKey"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment