Commit 2009024d authored by Steven杜宇's avatar Steven杜宇

// AI

parent 23111374
...@@ -466,6 +466,7 @@ ...@@ -466,6 +466,7 @@
045EEF242B9F171A0022A143 /* YHStepView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045EEE772B9F171A0022A143 /* YHStepView.swift */; }; 045EEF242B9F171A0022A143 /* YHStepView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045EEE772B9F171A0022A143 /* YHStepView.swift */; };
045EEF252B9F171A0022A143 /* YHMainInformationCardTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045EEE782B9F171A0022A143 /* YHMainInformationCardTableViewCell.swift */; }; 045EEF252B9F171A0022A143 /* YHMainInformationCardTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045EEE782B9F171A0022A143 /* YHMainInformationCardTableViewCell.swift */; };
045F28402CF5ED3400520F19 /* YHAITabBarItemContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045F283F2CF5ED3400520F19 /* YHAITabBarItemContentView.swift */; }; 045F28402CF5ED3400520F19 /* YHAITabBarItemContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045F283F2CF5ED3400520F19 /* YHAITabBarItemContentView.swift */; };
045F28422CF6028A00520F19 /* YHAITabViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045F28412CF6028A00520F19 /* YHAITabViewController.swift */; };
0468D4222B493A5E00CFB916 /* YHPhoneMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0468D4212B493A5E00CFB916 /* YHPhoneMessageView.swift */; }; 0468D4222B493A5E00CFB916 /* YHPhoneMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0468D4212B493A5E00CFB916 /* YHPhoneMessageView.swift */; };
0468D4262B495A5400CFB916 /* YHPickPhoneAddressViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0468D4252B495A5400CFB916 /* YHPickPhoneAddressViewController.swift */; }; 0468D4262B495A5400CFB916 /* YHPickPhoneAddressViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0468D4252B495A5400CFB916 /* YHPickPhoneAddressViewController.swift */; };
0468D4282B50D4AF00CFB916 /* YHPrivacyAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0468D4272B50D4AF00CFB916 /* YHPrivacyAlertView.swift */; }; 0468D4282B50D4AF00CFB916 /* YHPrivacyAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0468D4272B50D4AF00CFB916 /* YHPrivacyAlertView.swift */; };
...@@ -1506,6 +1507,7 @@ ...@@ -1506,6 +1507,7 @@
045EEE772B9F171A0022A143 /* YHStepView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHStepView.swift; sourceTree = "<group>"; }; 045EEE772B9F171A0022A143 /* YHStepView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHStepView.swift; sourceTree = "<group>"; };
045EEE782B9F171A0022A143 /* YHMainInformationCardTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHMainInformationCardTableViewCell.swift; sourceTree = "<group>"; }; 045EEE782B9F171A0022A143 /* YHMainInformationCardTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHMainInformationCardTableViewCell.swift; sourceTree = "<group>"; };
045F283F2CF5ED3400520F19 /* YHAITabBarItemContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHAITabBarItemContentView.swift; sourceTree = "<group>"; }; 045F283F2CF5ED3400520F19 /* YHAITabBarItemContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHAITabBarItemContentView.swift; sourceTree = "<group>"; };
045F28412CF6028A00520F19 /* YHAITabViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHAITabViewController.swift; sourceTree = "<group>"; };
0468D4212B493A5E00CFB916 /* YHPhoneMessageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHPhoneMessageView.swift; sourceTree = "<group>"; }; 0468D4212B493A5E00CFB916 /* YHPhoneMessageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHPhoneMessageView.swift; sourceTree = "<group>"; };
0468D4252B495A5400CFB916 /* YHPickPhoneAddressViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHPickPhoneAddressViewController.swift; sourceTree = "<group>"; }; 0468D4252B495A5400CFB916 /* YHPickPhoneAddressViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHPickPhoneAddressViewController.swift; sourceTree = "<group>"; };
0468D4272B50D4AF00CFB916 /* YHPrivacyAlertView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHPrivacyAlertView.swift; sourceTree = "<group>"; }; 0468D4272B50D4AF00CFB916 /* YHPrivacyAlertView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHPrivacyAlertView.swift; sourceTree = "<group>"; };
...@@ -3956,6 +3958,7 @@ ...@@ -3956,6 +3958,7 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
04943BE92CF1B44100BF2255 /* YHAIViewController.swift */, 04943BE92CF1B44100BF2255 /* YHAIViewController.swift */,
045F28412CF6028A00520F19 /* YHAITabViewController.swift */,
); );
path = C; path = C;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -6578,6 +6581,7 @@ ...@@ -6578,6 +6581,7 @@
A5F886B62C61F76200B63CF5 /* YHLongtapPictureSheetView.swift in Sources */, A5F886B62C61F76200B63CF5 /* YHLongtapPictureSheetView.swift in Sources */,
045EEF1C2B9F171A0022A143 /* YHAddressPresentAnimated.swift in Sources */, 045EEF1C2B9F171A0022A143 /* YHAddressPresentAnimated.swift in Sources */,
04B401E82CE83FBD005C61A9 /* YHIncomeDocumentationConfirmationCell.swift in Sources */, 04B401E82CE83FBD005C61A9 /* YHIncomeDocumentationConfirmationCell.swift in Sources */,
045F28422CF6028A00520F19 /* YHAITabViewController.swift in Sources */,
04E86E0D2B70D51D00A35F4B /* YHWebViewViewController.swift in Sources */, 04E86E0D2B70D51D00A35F4B /* YHWebViewViewController.swift in Sources */,
048058332C7DC0CF00502CAA /* YHTravelCertificateTipsCell.swift in Sources */, 048058332C7DC0CF00502CAA /* YHTravelCertificateTipsCell.swift in Sources */,
04256E252C76E26100A37BA4 /* YHNoNeedAppointMembersCell.swift in Sources */, 04256E252C76E26100A37BA4 /* YHNoNeedAppointMembersCell.swift in Sources */,
......
...@@ -212,9 +212,11 @@ extension AppDelegate { ...@@ -212,9 +212,11 @@ extension AppDelegate {
tabBarController.delegate = homeVC tabBarController.delegate = homeVC
let v0 = YHNavigationController(rootVC:homeVC) let v0 = YHNavigationController(rootVC:homeVC)
let v1 = YHNavigationController(rootVC:YHServiceCenterViewController()) let v1 = YHNavigationController(rootVC:YHServiceCenterViewController())
let v2 = YHNavigationController(rootVC: YHAIViewController()) let v2 = YHNavigationController(rootVC: YHAITabViewController())
let v3 = YHNavigationController(rootVC:YHCommunityViewController()) let v3 = YHNavigationController(rootVC:YHCommunityViewController())
let v4 = YHNavigationController(rootVC:YHMyViewController()) let v4 = YHNavigationController(rootVC:YHMyViewController())
// 截获AI tabbarItem 点击事件
tabBarController.shouldHijackHandler = { tabBarController.shouldHijackHandler = {
[weak self] tabBarController, viewController, index in [weak self] tabBarController, viewController, index in
guard let self = self else { return false} guard let self = self else { return false}
...@@ -227,7 +229,7 @@ extension AppDelegate { ...@@ -227,7 +229,7 @@ extension AppDelegate {
[weak self] tabBarController, viewController, index in [weak self] tabBarController, viewController, index in
guard let self = self else { return } guard let self = self else { return }
if index == 2 { if index == 2 {
let vc = YHAIViewController() let vc = YHAITabViewController()
UIViewController.current?.navigationController?.pushViewController(vc) UIViewController.current?.navigationController?.pushViewController(vc)
} }
} }
......
//
// YHAITabViewController.swift
// galaxy
//
// Created by Dufet on 2024/11/26.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import JXSegmentedView
class YHAITabViewController: YHBaseViewController {
var defaltIndex: Int = 0
let arrItemTitles = ["银河AI", "AI"]
var arrItemVCs : [YHBaseViewController] = []
lazy var segmentedView : JXSegmentedView = {
let view = JXSegmentedView(frame: CGRect(x: 0, y: k_Height_safeAreaInsetsTop(), width: KScreenWidth, height: 48))
view.backgroundColor = .clear
return view
}()
lazy var segmentedDataSource: JXSegmentedTitleDataSource = {
let dataSource = JXSegmentedTitleDataSource()
dataSource.isTitleColorGradientEnabled = true
dataSource.titles = arrItemTitles
dataSource.titleNormalFont = UIFont.PFSC_M(ofSize: 15)
dataSource.titleNormalColor = UIColor.init(hex:0x6D788A)
dataSource.titleSelectedFont = UIFont.PFSC_B(ofSize: 21)
dataSource.titleSelectedColor = .mainTextColor
dataSource.isItemSpacingAverageEnabled = false
dataSource.itemWidth = JXSegmentedViewAutomaticDimension
dataSource.itemSpacing = 28.0
return dataSource
}()
//分类title 所对应的VC
lazy var listContainerView: JXSegmentedListContainerView! = {
let view = JXSegmentedListContainerView(dataSource: self, type: .scrollView)
view.backgroundColor = .clear
return view
}()
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .init(hex:0xDEECFE)
gk_navBarAlpha = 0
gk_navigationBar.isHidden = true
createUI()
}
func createUI() {
for i in 0..<arrItemTitles.count {
if i == 0 { // 银河AI
let vc = YHMessageListVC()
arrItemVCs.append(vc)
} else if i == 1 { // 对话
let vc = YHAIViewController()
arrItemVCs.append(vc)
}
}
//segmentedViewDataSource一定要通过属性强持有!!!!!!!!!
segmentedView.dataSource = segmentedDataSource
view.addSubview(segmentedView)
segmentedView.listContainer = listContainerView
view.addSubview(listContainerView)
//分类Title
segmentedView.dataSource = segmentedDataSource
segmentedView.delegate = self
//配置指示器
let indicator = JXSegmentedIndicatorLineView()
indicator.indicatorWidth = 16
indicator.indicatorHeight = 2
indicator.indicatorCornerRadius = 0.0
indicator.indicatorColor = UIColor.white
segmentedView.indicators = [indicator]
segmentedView.defaultSelectedIndex = defaltIndex
let segmentHeight = 29.0
segmentedView.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalTo(k_Height_safeAreaInsetsTop())
make.height.equalTo(segmentHeight)
}
listContainerView.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalTo(k_Height_safeAreaInsetsTop() + segmentHeight + 9.0)
make.bottom.equalTo(0)
}
}
}
extension YHAITabViewController: JXSegmentedViewDelegate {
func segmentedView(_ segmentedView: JXSegmentedView, didSelectedItemAt index: Int) {
if segmentedView.selectedIndex == 1 {
} else {
}
}
}
extension YHAITabViewController: JXSegmentedListContainerViewDataSource {
func numberOfLists(in listContainerView: JXSegmentedListContainerView) -> Int {
if let titleDataSource = segmentedView.dataSource as? JXSegmentedBaseDataSource {
return titleDataSource.dataSource.count
}
return 0
}
func listContainerView(_ listContainerView: JXSegmentedListContainerView, initListAt index: Int) -> JXSegmentedListContainerViewListDelegate {
return arrItemVCs[index] as! JXSegmentedListContainerViewListDelegate
}
}
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
import UIKit import UIKit
import Alamofire import Alamofire
import IQKeyboardManagerSwift import IQKeyboardManagerSwift
import JXSegmentedView
class YHAIViewController: YHBaseViewController { class YHAIViewController: YHBaseViewController {
...@@ -141,3 +142,9 @@ extension YHAIViewController: UITableViewDelegate, UITableViewDataSource { ...@@ -141,3 +142,9 @@ extension YHAIViewController: UITableViewDelegate, UITableViewDataSource {
} }
extension YHAIViewController: JXSegmentedListContainerViewListDelegate {
func listView() -> UIView {
return view
}
}
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