Commit ca39d88f authored by David黄金龙's avatar David黄金龙

Merge branch 'davidhuang' into develop

* davidhuang:
  优化 首页的 手势交互
  处理 首页 UI
  完善首页
  细节优化
parents 0489dc2f 44205b7a
...@@ -93,6 +93,13 @@ ...@@ -93,6 +93,13 @@
A5C5B2FD2B55361700A7C5D1 /* YHBannerModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5C5B2FC2B55361700A7C5D1 /* YHBannerModel.swift */; }; A5C5B2FD2B55361700A7C5D1 /* YHBannerModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5C5B2FC2B55361700A7C5D1 /* YHBannerModel.swift */; };
A5C5B3002B55623800A7C5D1 /* ContentBaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5C5B2FE2B55623700A7C5D1 /* ContentBaseViewController.swift */; }; A5C5B3002B55623800A7C5D1 /* ContentBaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5C5B2FE2B55623700A7C5D1 /* ContentBaseViewController.swift */; };
A5C5B3102B57677300A7C5D1 /* YHGestureTableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5C5B30F2B57677300A7C5D1 /* YHGestureTableView.swift */; }; A5C5B3102B57677300A7C5D1 /* YHGestureTableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5C5B30F2B57677300A7C5D1 /* YHGestureTableView.swift */; };
A5C5B3122B57B47D00A7C5D1 /* YHDavidCell0.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5C5B3112B57B47D00A7C5D1 /* YHDavidCell0.swift */; };
A5C5B3232B57BF8F00A7C5D1 /* YHDavidCell1.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5C5B3222B57BF8F00A7C5D1 /* YHDavidCell1.swift */; };
A5C5B3252B57C74900A7C5D1 /* YHDavidCell3.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5C5B3242B57C74900A7C5D1 /* YHDavidCell3.swift */; };
A5C5B3272B57C8D500A7C5D1 /* YHDavidCell2.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5C5B3262B57C8D500A7C5D1 /* YHDavidCell2.swift */; };
A5C5B3292B57CCBE00A7C5D1 /* YHDavidCell4.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5C5B3282B57CCBE00A7C5D1 /* YHDavidCell4.swift */; };
A5C5B32B2B57D17600A7C5D1 /* YHDavidCell5.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5C5B32A2B57D17600A7C5D1 /* YHDavidCell5.swift */; };
A5C5B32D2B57D66000A7C5D1 /* YHBbxCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5C5B32C2B57D66000A7C5D1 /* YHBbxCollectionViewCell.swift */; };
A5D6AB1B2B46A1CC001C10A5 /* YHHomeModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5D6AB1A2B46A1CC001C10A5 /* YHHomeModel.swift */; }; A5D6AB1B2B46A1CC001C10A5 /* YHHomeModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5D6AB1A2B46A1CC001C10A5 /* YHHomeModel.swift */; };
A5D6AB1D2B46AAFB001C10A5 /* YHHomePageViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5D6AB1C2B46AAFB001C10A5 /* YHHomePageViewModel.swift */; }; A5D6AB1D2B46AAFB001C10A5 /* YHHomePageViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5D6AB1C2B46AAFB001C10A5 /* YHHomePageViewModel.swift */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
...@@ -220,6 +227,13 @@ ...@@ -220,6 +227,13 @@
A5C5B2FC2B55361700A7C5D1 /* YHBannerModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHBannerModel.swift; sourceTree = "<group>"; }; A5C5B2FC2B55361700A7C5D1 /* YHBannerModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHBannerModel.swift; sourceTree = "<group>"; };
A5C5B2FE2B55623700A7C5D1 /* ContentBaseViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ContentBaseViewController.swift; sourceTree = "<group>"; }; A5C5B2FE2B55623700A7C5D1 /* ContentBaseViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ContentBaseViewController.swift; sourceTree = "<group>"; };
A5C5B30F2B57677300A7C5D1 /* YHGestureTableView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHGestureTableView.swift; sourceTree = "<group>"; }; A5C5B30F2B57677300A7C5D1 /* YHGestureTableView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHGestureTableView.swift; sourceTree = "<group>"; };
A5C5B3112B57B47D00A7C5D1 /* YHDavidCell0.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHDavidCell0.swift; sourceTree = "<group>"; };
A5C5B3222B57BF8F00A7C5D1 /* YHDavidCell1.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHDavidCell1.swift; sourceTree = "<group>"; };
A5C5B3242B57C74900A7C5D1 /* YHDavidCell3.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHDavidCell3.swift; sourceTree = "<group>"; };
A5C5B3262B57C8D500A7C5D1 /* YHDavidCell2.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHDavidCell2.swift; sourceTree = "<group>"; };
A5C5B3282B57CCBE00A7C5D1 /* YHDavidCell4.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHDavidCell4.swift; sourceTree = "<group>"; };
A5C5B32A2B57D17600A7C5D1 /* YHDavidCell5.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHDavidCell5.swift; sourceTree = "<group>"; };
A5C5B32C2B57D66000A7C5D1 /* YHBbxCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHBbxCollectionViewCell.swift; sourceTree = "<group>"; };
A5D6AB1A2B46A1CC001C10A5 /* YHHomeModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHHomeModel.swift; sourceTree = "<group>"; }; A5D6AB1A2B46A1CC001C10A5 /* YHHomeModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHHomeModel.swift; sourceTree = "<group>"; };
A5D6AB1C2B46AAFB001C10A5 /* YHHomePageViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHHomePageViewModel.swift; sourceTree = "<group>"; }; A5D6AB1C2B46AAFB001C10A5 /* YHHomePageViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHHomePageViewModel.swift; sourceTree = "<group>"; };
B6BB01E4C5DB87B66F0ECE84 /* Pods-galaxy.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-galaxy.release.xcconfig"; path = "Target Support Files/Pods-galaxy/Pods-galaxy.release.xcconfig"; sourceTree = "<group>"; }; B6BB01E4C5DB87B66F0ECE84 /* Pods-galaxy.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-galaxy.release.xcconfig"; path = "Target Support Files/Pods-galaxy/Pods-galaxy.release.xcconfig"; sourceTree = "<group>"; };
...@@ -661,6 +675,13 @@ ...@@ -661,6 +675,13 @@
A5C5B2F82B5515CE00A7C5D1 /* YHPageContentView.swift */, A5C5B2F82B5515CE00A7C5D1 /* YHPageContentView.swift */,
A530268F2B4E6F2700F35102 /* YHHomeCustomCell.swift */, A530268F2B4E6F2700F35102 /* YHHomeCustomCell.swift */,
A5C5B2E72B4EC95600A7C5D1 /* YHDavidTestCollectionViewCell.swift */, A5C5B2E72B4EC95600A7C5D1 /* YHDavidTestCollectionViewCell.swift */,
A5C5B32A2B57D17600A7C5D1 /* YHDavidCell5.swift */,
A5C5B3282B57CCBE00A7C5D1 /* YHDavidCell4.swift */,
A5C5B3242B57C74900A7C5D1 /* YHDavidCell3.swift */,
A5C5B3262B57C8D500A7C5D1 /* YHDavidCell2.swift */,
A5C5B3222B57BF8F00A7C5D1 /* YHDavidCell1.swift */,
A5C5B3112B57B47D00A7C5D1 /* YHDavidCell0.swift */,
A5C5B32C2B57D66000A7C5D1 /* YHBbxCollectionViewCell.swift */,
); );
path = V; path = V;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -893,6 +914,7 @@ ...@@ -893,6 +914,7 @@
A5ACE9462B4564F7002C94D2 /* BsHUDSquareBaseView.swift in Sources */, A5ACE9462B4564F7002C94D2 /* BsHUDSquareBaseView.swift in Sources */,
A5551FFE2B4C26CE00510980 /* YHBaseViewModel.swift in Sources */, A5551FFE2B4C26CE00510980 /* YHBaseViewModel.swift in Sources */,
A5C5B2F92B5515CE00A7C5D1 /* YHPageContentView.swift in Sources */, A5C5B2F92B5515CE00A7C5D1 /* YHPageContentView.swift in Sources */,
A5C5B3232B57BF8F00A7C5D1 /* YHDavidCell1.swift in Sources */,
A5C5B2FB2B5535DF00A7C5D1 /* YHHomeBannerView.swift in Sources */, A5C5B2FB2B5535DF00A7C5D1 /* YHHomeBannerView.swift in Sources */,
A5ACE94B2B4564F7002C94D2 /* BsHUDRotatingImageView.swift in Sources */, A5ACE94B2B4564F7002C94D2 /* BsHUDRotatingImageView.swift in Sources */,
A5ACE94F2B4564F7002C94D2 /* YhOverlayView.swift in Sources */, A5ACE94F2B4564F7002C94D2 /* YhOverlayView.swift in Sources */,
...@@ -902,6 +924,7 @@ ...@@ -902,6 +924,7 @@
A5ACE93B2B4564F7002C94D2 /* UIFont+Extension.swift in Sources */, A5ACE93B2B4564F7002C94D2 /* UIFont+Extension.swift in Sources */,
A5ACE9282B4564F7002C94D2 /* YHSmsCodeView.swift in Sources */, A5ACE9282B4564F7002C94D2 /* YHSmsCodeView.swift in Sources */,
0468D4262B495A5400CFB916 /* YHPickPhoneAddressViewController.swift in Sources */, 0468D4262B495A5400CFB916 /* YHPickPhoneAddressViewController.swift in Sources */,
A5C5B32D2B57D66000A7C5D1 /* YHBbxCollectionViewCell.swift in Sources */,
A5ACE9342B4564F7002C94D2 /* YHAllApiName.swift in Sources */, A5ACE9342B4564F7002C94D2 /* YHAllApiName.swift in Sources */,
A5ACE9502B4564F7002C94D2 /* YhCacheTool.swift in Sources */, A5ACE9502B4564F7002C94D2 /* YhCacheTool.swift in Sources */,
0468D4242B494BEA00CFB916 /* YHCodeResultViewController.swift in Sources */, 0468D4242B494BEA00CFB916 /* YHCodeResultViewController.swift in Sources */,
...@@ -919,9 +942,11 @@ ...@@ -919,9 +942,11 @@
A5D6AB1B2B46A1CC001C10A5 /* YHHomeModel.swift in Sources */, A5D6AB1B2B46A1CC001C10A5 /* YHHomeModel.swift in Sources */,
A5D6AB1D2B46AAFB001C10A5 /* YHHomePageViewModel.swift in Sources */, A5D6AB1D2B46AAFB001C10A5 /* YHHomePageViewModel.swift in Sources */,
A5ACE9552B4564F7002C94D2 /* YHTabBarViewController.swift in Sources */, A5ACE9552B4564F7002C94D2 /* YHTabBarViewController.swift in Sources */,
A5C5B3122B57B47D00A7C5D1 /* YHDavidCell0.swift in Sources */,
0468D43A2B579EAC00CFB916 /* YHLoginViewModel.swift in Sources */, 0468D43A2B579EAC00CFB916 /* YHLoginViewModel.swift in Sources */,
A5ACE9402B4564F7002C94D2 /* String+Extension.swift in Sources */, A5ACE9402B4564F7002C94D2 /* String+Extension.swift in Sources */,
A5ACE9482B4564F7002C94D2 /* BsHUDWariningView.swift in Sources */, A5ACE9482B4564F7002C94D2 /* BsHUDWariningView.swift in Sources */,
A5C5B3252B57C74900A7C5D1 /* YHDavidCell3.swift in Sources */,
A5ACE9492B4564F7002C94D2 /* BsHUDSuccessView.swift in Sources */, A5ACE9492B4564F7002C94D2 /* BsHUDSuccessView.swift in Sources */,
A5ACE9432B4564F7002C94D2 /* UILable+Extension.swift in Sources */, A5ACE9432B4564F7002C94D2 /* UILable+Extension.swift in Sources */,
A5ACE9382B4564F7002C94D2 /* UIApplication+Extension.swift in Sources */, A5ACE9382B4564F7002C94D2 /* UIApplication+Extension.swift in Sources */,
...@@ -930,11 +955,14 @@ ...@@ -930,11 +955,14 @@
A5ACE93C2B4564F7002C94D2 /* UIColor+Extension.swift in Sources */, A5ACE93C2B4564F7002C94D2 /* UIColor+Extension.swift in Sources */,
A5C5B2EA2B4ECA4D00A7C5D1 /* YHDavidModel0.swift in Sources */, A5C5B2EA2B4ECA4D00A7C5D1 /* YHDavidModel0.swift in Sources */,
A5ACE9572B4564F7002C94D2 /* YHBasicContentView.swift in Sources */, A5ACE9572B4564F7002C94D2 /* YHBasicContentView.swift in Sources */,
A5C5B3292B57CCBE00A7C5D1 /* YHDavidCell4.swift in Sources */,
049A48A82B49417300D0C641 /* YHAboutUsViewController.swift in Sources */, 049A48A82B49417300D0C641 /* YHAboutUsViewController.swift in Sources */,
A5ACE9582B4564F7002C94D2 /* YHNoDataTipView.swift in Sources */, A5ACE9582B4564F7002C94D2 /* YHNoDataTipView.swift in Sources */,
A5ACE9562B4564F7002C94D2 /* YHBouncesContentView.swift in Sources */, A5ACE9562B4564F7002C94D2 /* YHBouncesContentView.swift in Sources */,
A5ACE9302B4564F7002C94D2 /* Algorithm.swift in Sources */, A5ACE9302B4564F7002C94D2 /* Algorithm.swift in Sources */,
A5C5B32B2B57D17600A7C5D1 /* YHDavidCell5.swift in Sources */,
A5ACE92D2B4564F7002C94D2 /* YHLoginPrivacyView.swift in Sources */, A5ACE92D2B4564F7002C94D2 /* YHLoginPrivacyView.swift in Sources */,
A5C5B3272B57C8D500A7C5D1 /* YHDavidCell2.swift in Sources */,
A5ACE9372B4564F7002C94D2 /* YHBaseUrlManager.swift in Sources */, A5ACE9372B4564F7002C94D2 /* YHBaseUrlManager.swift in Sources */,
A5ACE9352B4564F7002C94D2 /* YHNetRequest.swift in Sources */, A5ACE9352B4564F7002C94D2 /* YHNetRequest.swift in Sources */,
A5ACE9272B4564F7002C94D2 /* YHLoginViewController.swift in Sources */, A5ACE9272B4564F7002C94D2 /* YHLoginViewController.swift in Sources */,
......
...@@ -19,6 +19,7 @@ class ContentBaseViewController: UIViewController { ...@@ -19,6 +19,7 @@ class ContentBaseViewController: UIViewController {
} }
} }
let arrItemTitles = ["推荐","子女教育","税务规划","民生医疗","成功案例","我的服务","行业资讯","香港生活","你我他","我是很长的tag呀"] let arrItemTitles = ["推荐","子女教育","税务规划","民生医疗","成功案例","我的服务","行业资讯","香港生活","你我他","我是很长的tag呀"]
var arrItemVCs : [YHDavidTestViewController] = [] var arrItemVCs : [YHDavidTestViewController] = []
...@@ -50,7 +51,9 @@ class ContentBaseViewController: UIViewController { ...@@ -50,7 +51,9 @@ class ContentBaseViewController: UIViewController {
super.viewDidLoad() super.viewDidLoad()
for _ in arrItemTitles { for _ in arrItemTitles {
arrItemVCs.append(YHDavidTestViewController()) let vc = YHDavidTestViewController()
vc.myParentVc = self
arrItemVCs.append(vc)
} }
//segmentedViewDataSource一定要通过属性强持有!!!!!!!!! //segmentedViewDataSource一定要通过属性强持有!!!!!!!!!
...@@ -71,9 +74,7 @@ class ContentBaseViewController: UIViewController { ...@@ -71,9 +74,7 @@ class ContentBaseViewController: UIViewController {
indicator.indicatorWidth = 16 indicator.indicatorWidth = 16
indicator.indicatorColor = .blue indicator.indicatorColor = .blue
segmentedView.indicators = [indicator] segmentedView.indicators = [indicator]
segmentedView.backgroundColor = UIColor(red: 0.95, green: 0.95, blue: 0.95, alpha: 1)
} }
override func viewWillAppear(_ animated: Bool) { override func viewWillAppear(_ animated: Bool) {
...@@ -95,13 +96,23 @@ class ContentBaseViewController: UIViewController { ...@@ -95,13 +96,23 @@ class ContentBaseViewController: UIViewController {
segmentedView.frame = CGRect(x: 0, y: 0, width: view.bounds.size.width, height: 50) segmentedView.frame = CGRect(x: 0, y: 0, width: view.bounds.size.width, height: 50)
listContainerView.frame = CGRect(x: 0, y: 50, width: view.bounds.size.width, height: view.bounds.size.height - 50) listContainerView.frame = CGRect(x: 0, y: 50, width: view.bounds.size.width, height: view.bounds.size.height - 50)
// view.backgroundColor = .purple//for test hjl
} }
} }
extension ContentBaseViewController: JXSegmentedViewDelegate { extension ContentBaseViewController: JXSegmentedViewDelegate {
func segmentedView(_ segmentedView: JXSegmentedView, didSelectedItemAt index: Int) { func segmentedView(_ segmentedView: JXSegmentedView, didSelectedItemAt index: Int) {
navigationController?.interactivePopGestureRecognizer?.isEnabled = (segmentedView.selectedIndex == 0) NotificationCenter.default.post(name: Notification.Name(rawValue: "scrollViewDidEndDragging"), object: nil)
}
/// 正在滚动中的回调
///
/// - Parameters:
/// - segmentedView: JXSegmentedView
/// - leftIndex: 正在滚动中,相对位置处于左边的index
/// - rightIndex: 正在滚动中,相对位置处于右边的index
/// - percent: 从左往右计算的百分比
func segmentedView(_ segmentedView: JXSegmentedView, scrollingFrom leftIndex: Int, to rightIndex: Int, percent: CGFloat) {
NotificationCenter.default.post(name: Notification.Name(rawValue: "scrollViewWillBeginDragging"), object: nil)
} }
} }
......
...@@ -13,6 +13,7 @@ import GKNavigationBarSwift ...@@ -13,6 +13,7 @@ import GKNavigationBarSwift
class YHDavidTestViewController: YHBaseViewController { class YHDavidTestViewController: YHBaseViewController {
var vcCanScroll : Bool = true var vcCanScroll : Bool = true
weak var myParentVc : ContentBaseViewController?
lazy var descripeLable:UILabel = { lazy var descripeLable:UILabel = {
let label = UILabel() let label = UILabel()
...@@ -109,6 +110,11 @@ class YHDavidTestViewController: YHBaseViewController { ...@@ -109,6 +110,11 @@ class YHDavidTestViewController: YHBaseViewController {
gk_navigationBar.isHidden = true gk_navigationBar.isHidden = true
self.items = [AboutAdvantageItem(iconName: "about_match", title: "精准匹配", detail: "大数据精准匹配,专属方案获批率更高")]
// self.myCollectView.es.stopPullToRefresh(ignoreDate: true,ignoreFooter: false)
self.myCollectView.reloadData()
} }
} }
...@@ -127,6 +133,7 @@ extension YHDavidTestViewController { ...@@ -127,6 +133,7 @@ extension YHDavidTestViewController {
private func loadFakeData() { private func loadFakeData() {
DispatchQueue.main.asyncAfter(deadline: .now() + 1) { DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
self.items.append(AboutAdvantageItem(iconName: "about_match", title: "精准匹配", detail: "大数据精准匹配,专属方案获批率更高")) self.items.append(AboutAdvantageItem(iconName: "about_match", title: "精准匹配", detail: "大数据精准匹配,专属方案获批率更高"))
self.myCollectView.es.stopLoadingMore() self.myCollectView.es.stopLoadingMore()
self.myCollectView.reloadData() self.myCollectView.reloadData()
} }
...@@ -209,9 +216,9 @@ extension YHDavidTestViewController { ...@@ -209,9 +216,9 @@ extension YHDavidTestViewController {
// self.myCollectView.backgroundColor = UIColor.green // self.myCollectView.backgroundColor = UIColor.green
self.myCollectView.es.addPullToRefresh { // self.myCollectView.es.addPullToRefresh {
self.loadFirstItem() // self.loadFirstItem()
} // }
// self.myCollectView.es.startPullToRefresh() // self.myCollectView.es.startPullToRefresh()
self.myCollectView.es.addInfiniteScrolling { self.myCollectView.es.addInfiniteScrolling {
self.loadFakeData() self.loadFakeData()
...@@ -254,11 +261,13 @@ extension YHDavidTestViewController: UIScrollViewDelegate { ...@@ -254,11 +261,13 @@ extension YHDavidTestViewController: UIScrollViewDelegate {
func scrollViewDidScroll(_ scrollView: UIScrollView) { func scrollViewDidScroll(_ scrollView: UIScrollView) {
if scrollView === myCollectView { if scrollView === myCollectView {
let scrollViewSet: CGFloat = scrollView.contentOffset.y let scrollViewSet: CGFloat = scrollView.contentOffset.y
printLog("subTableView --- scrollView.contentOffset.y = \(scrollViewSet) scrollView.contentOffset.x = \(scrollView.contentOffset.y)") // printLog("subTableView --- scrollView.contentOffset.y = \(scrollViewSet) scrollView.contentOffset.x = \(scrollView.contentOffset.y)")
if vcCanScroll == false {//不能滚动时 if vcCanScroll == false {//不能滚动时
scrollView.contentOffset = CGPoint(x: -20, y: 0) scrollView.contentOffset = CGPoint(x: -20, y: 0)
printLog("vcCanScroll == false") // printLog("vcCanScroll == false")
// self.myParentVc?.listContainerView.scrollView.isScrollEnabled = true
} else { } else {
if (scrollViewSet <= 0) { if (scrollViewSet <= 0) {
scrollView.contentOffset = CGPoint(x: -20, y: 0) scrollView.contentOffset = CGPoint(x: -20, y: 0)
...@@ -270,4 +279,19 @@ extension YHDavidTestViewController: UIScrollViewDelegate { ...@@ -270,4 +279,19 @@ extension YHDavidTestViewController: UIScrollViewDelegate {
} }
} }
} }
func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
if scrollView === myCollectView {
// printLog("hjl*****开始滚动")
}
}
func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
if scrollView === myCollectView {
self.myParentVc?.listContainerView.scrollView.isScrollEnabled = true
// printLog("hjl*****停止滚动")
}
}
} }
...@@ -17,9 +17,11 @@ class YHHomeViewController: YHBaseViewController { ...@@ -17,9 +17,11 @@ class YHHomeViewController: YHBaseViewController {
var arrItemVc : [UIViewController] = [] var arrItemVc : [UIViewController] = []
var canScroll : Bool = true var canScroll : Bool = true
var myCellHeight : CGFloat { var myCellHeight : CGFloat {
get { get {
return view.bounds.size.height - homeNavBarView.height - k_TabBar_Height - k_Height_NavigationtBarAndStatuBar - cellHeight * 2 return view.bounds.size.height - homeNavBarView.height - k_TabBar_Height
} }
} }
...@@ -81,13 +83,20 @@ class YHHomeViewController: YHBaseViewController { ...@@ -81,13 +83,20 @@ class YHHomeViewController: YHBaseViewController {
var homeTableView: YHGestureTableView = { var homeTableView: YHGestureTableView = {
let tableView = YHGestureTableView(frame: .zero, style: .grouped) let tableView = YHGestureTableView(frame: .zero, style: .grouped)
tableView.backgroundColor = .yellow//for test hjl tableView.backgroundColor = .clear
tableView.separatorStyle = .none tableView.separatorStyle = .none
tableView.showsHorizontalScrollIndicator = false tableView.showsHorizontalScrollIndicator = false
tableView.showsVerticalScrollIndicator = false tableView.showsVerticalScrollIndicator = false
tableView.rowHeight = UITableView.automaticDimension // tableView.rowHeight = UITableView.automaticDimension
tableView.estimatedRowHeight = 100 // tableView.estimatedRowHeight = 100
tableView.register(YHHomeCustomCell.self, forCellReuseIdentifier: YHHomeCustomCell.cellReuseIdentifier) // tableView.register(YHHomeCustomCell.self, forCellReuseIdentifier: YHHomeCustomCell.cellReuseIdentifier)
tableView.register(YHDavidCell0.self,forCellReuseIdentifier: YHDavidCell0.cellReuseIdentifier)
tableView.register(YHDavidCell1.self,forCellReuseIdentifier: YHDavidCell1.cellReuseIdentifier)
tableView.register(YHDavidCell3.self,forCellReuseIdentifier: YHDavidCell3.cellReuseIdentifier)
tableView.register(YHDavidCell2.self,forCellReuseIdentifier: YHDavidCell2.cellReuseIdentifier)
tableView.register(YHDavidCell4.self,forCellReuseIdentifier: YHDavidCell4.cellReuseIdentifier)
tableView.register(YHDavidCell5.self,forCellReuseIdentifier: YHDavidCell5.cellReuseIdentifier)
return tableView return tableView
}() }()
...@@ -119,6 +128,12 @@ class YHHomeViewController: YHBaseViewController { ...@@ -119,6 +128,12 @@ class YHHomeViewController: YHBaseViewController {
NotificationCenter.default.addObserver(self, selector: #selector(leaveTopOp), name:Notification.Name(rawValue: "leaveTop"), object: nil) NotificationCenter.default.addObserver(self, selector: #selector(leaveTopOp), name:Notification.Name(rawValue: "leaveTop"), object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(beginDragging), name:Notification.Name(rawValue: "scrollViewWillBeginDragging"), object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(endDragging), name:Notification.Name(rawValue: "scrollViewDidEndDragging"), object: nil)
//1.UI //1.UI
initView() initView()
...@@ -139,6 +154,19 @@ extension YHHomeViewController { ...@@ -139,6 +154,19 @@ extension YHHomeViewController {
canScroll = true canScroll = true
} }
@objc func beginDragging() {
homeTableView.isScrollEnabled = false
canScroll = false
}
@objc func endDragging() {
homeTableView.isScrollEnabled = true
canScroll = true
}
private func requestData() { private func requestData() {
self.homeReqVM.getHomeConfig { flag, error in self.homeReqVM.getHomeConfig { flag, error in
if flag == true { if flag == true {
...@@ -175,7 +203,7 @@ extension YHHomeViewController { ...@@ -175,7 +203,7 @@ extension YHHomeViewController {
homeTableView.dataSource = self homeTableView.dataSource = self
view.addSubview(homeTableView) view.addSubview(homeTableView)
homeTableView.snp.makeConstraints { make in homeTableView.snp.makeConstraints { make in
make.top.equalTo(homeNavBarView.snp.bottom).offset(5) make.top.equalTo(homeNavBarView.snp.bottom).offset(0)
make.left.right.bottom.equalToSuperview() make.left.right.bottom.equalToSuperview()
} }
...@@ -220,7 +248,7 @@ extension YHHomeViewController : UITableViewDelegate,UITableViewDataSource { ...@@ -220,7 +248,7 @@ extension YHHomeViewController : UITableViewDelegate,UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if section == 0 { if section == 0 {
return 2 return 6
} }
return 1 return 1
} }
...@@ -256,33 +284,59 @@ extension YHHomeViewController : UITableViewDelegate,UITableViewDataSource { ...@@ -256,33 +284,59 @@ extension YHHomeViewController : UITableViewDelegate,UITableViewDataSource {
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if indexPath.section == 0 { if indexPath.section == 0 {
return cellHeight if indexPath.row == 0 {
return 136
} else if indexPath.row == 1 {
return 194
} else if indexPath.row == 2 {
return 113
} else if indexPath.row == 3 {
return 138 + 15
} else if indexPath.row == 4 {
return YHDavidCell4.cellHeight
} else if indexPath.row == 5 {
return YHDavidCell5.cellHeight
}
return 100
} }
return CGRectGetHeight(self.view.bounds) return CGRectGetHeight(self.view.bounds)
} }
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if indexPath.section == 0 { if indexPath.section == 0 {
let cell = UITableViewCell(style: .default, reuseIdentifier: "cell")
if indexPath.row == 0 { if indexPath.row == 0 {
cell.contentView.backgroundColor = .systemPink
} else {
cell.contentView.backgroundColor = .brown let cell = tableView.dequeueReusableCell(withIdentifier: YHDavidCell0.cellReuseIdentifier, for: indexPath) as! YHDavidCell0
return cell
} else if indexPath.row == 1 {
let cell = tableView.dequeueReusableCell(withIdentifier: YHDavidCell1.cellReuseIdentifier, for: indexPath) as! YHDavidCell1
return cell
} else if indexPath.row == 2 {
let cell = tableView.dequeueReusableCell(withIdentifier: YHDavidCell2.cellReuseIdentifier, for: indexPath) as! YHDavidCell2
return cell
} else if indexPath.row == 3 {
let cell = tableView.dequeueReusableCell(withIdentifier: YHDavidCell3.cellReuseIdentifier, for: indexPath) as! YHDavidCell3
return cell
} else if indexPath.row == 4 {
let cell = tableView.dequeueReusableCell(withIdentifier: YHDavidCell4.cellReuseIdentifier, for: indexPath) as! YHDavidCell4
return cell
} else if indexPath.row == 5 {
let cell = tableView.dequeueReusableCell(withIdentifier: YHDavidCell5.cellReuseIdentifier, for: indexPath) as! YHDavidCell5
return cell
} }
cell.textLabel?.text = "第\(indexPath.section)个section - 第\(indexPath.row) 行"
let cell = tableView.dequeueReusableCell(withIdentifier: YHDavidCell0.cellReuseIdentifier, for: indexPath) as! YHDavidCell0
return cell return cell
} }
let cell = UITableViewCell() let cell = UITableViewCell()
view.backgroundColor = .blue //for test hjl cellView.view.frame = CGRect(x: 0, y: 0, width: cell.contentView.bounds.size.width, height: myCellHeight)
tableView.backgroundColor = .yellow//for test hjl
cellView.view.frame = CGRect(x: 0, y: 0, width: cell.contentView.bounds.size.width, height: KScreenHeight - 64)
cell.contentView.addSubview(cellView.view) cell.contentView.addSubview(cellView.view)
// cell.contentView.backgroundColor = .red for test hjl
// cellView.view.backgroundColor = .systemPink //for test hjl
return cell return cell
} }
...@@ -294,8 +348,25 @@ extension YHHomeViewController : UITableViewDelegate,UITableViewDataSource { ...@@ -294,8 +348,25 @@ extension YHHomeViewController : UITableViewDelegate,UITableViewDataSource {
extension YHHomeViewController: UIScrollViewDelegate { extension YHHomeViewController: UIScrollViewDelegate {
func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
print("main - scrollViewWillBeginDragging")
}
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
print("main - scrollViewDidEndDecelerating")
}
func scrollViewDidScroll(_ scrollView: UIScrollView) { func scrollViewDidScroll(_ scrollView: UIScrollView) {
let bottomCellOffset: CGFloat = homeTableView.rect(forSection: 1).origin.y - 64 + 80 - 12
// if scrollView.isScrollEnabled == false {
// printLog("Main scrollView.isScrollEnabled == false")
// return
// }
if scrollView === homeTableView {
let bottomCellOffset: CGFloat = homeTableView.rect(forSection: 1).origin.y - 64 + 80 - 12 //48
printLog("Main scrollView.contentOffset.y = \(scrollView.contentOffset.y) bottomCellOffset= \(bottomCellOffset)") printLog("Main scrollView.contentOffset.y = \(scrollView.contentOffset.y) bottomCellOffset= \(bottomCellOffset)")
if (scrollView.contentOffset.y >= bottomCellOffset) { if (scrollView.contentOffset.y >= bottomCellOffset) {
...@@ -312,6 +383,35 @@ extension YHHomeViewController: UIScrollViewDelegate { ...@@ -312,6 +383,35 @@ extension YHHomeViewController: UIScrollViewDelegate {
} }
} }
self.homeTableView.showsVerticalScrollIndicator = canScroll ? true : false self.homeTableView.showsVerticalScrollIndicator = canScroll ? true : false
} }
}
// func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
//// cellView.segmentedView.selectItemAt(index: 2)
////
//// DispatchQueue.main.asyncAfter(wallDeadline: .now() + 0.25) { [weak self] in
//// self?.cellView.listContainerView.scrollView.isScrollEnabled = false
//// }
//
// cellView.listContainerView.scrollView.isScrollEnabled = false
// }
//
// func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
// cellView.listContainerView.scrollView.isScrollEnabled = true
// }
} }
//extension JXSegmentedListContainerView : UIScrollViewDelegate {
// public func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
// print("kkkkkkkkk")
// }
//
// public func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
// print("jjjjjjj")
// }
//}
//
// YHBbxCollectionViewCell.swift
// galaxy
//
// Created by davidhuangA on 2024/1/17.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHBbxCollectionViewCell: UICollectionViewCell {
static let cellReuseIdentifier = "YHBbxCollectionViewCell"
static let bbxCellHeight = 64
static let bbxCellWidth = 80
lazy var titleImageView:UIImageView = {
let imageV = UIImageView(image: UIImage(named: "home_bbx_icon"))
imageV.contentMode = .scaleAspectFill
return imageV
}()
lazy var descripeLable:UILabel = {
let label = UILabel()
label.textColor = UIColor(red: 0.315, green: 0.315, blue: 0.315, alpha: 1)
label.font = kFont(size: 12)
label.textAlignment = .center
label.text = "证件办理"
// label.backgroundColor = .blue
return label
}()
required init?(coder: NSCoder) {
super.init(coder: coder)
}
override init(frame: CGRect) {
super.init(frame: frame)
setupUI()
}
private func setupUI() {
contentView.addSubview(titleImageView)
titleImageView.snp.makeConstraints { make in
make.top.equalToSuperview()
make.height.width.equalTo(44)
make.centerX.equalToSuperview()
}
contentView.addSubview(descripeLable)
descripeLable.snp.makeConstraints { make in
make.top.equalTo(titleImageView.snp.bottom).offset(4)
make.centerX.equalToSuperview()
make.height.equalTo(16)
make.left.right.equalToSuperview()
}
}
}
//
// YHDavidCell0.swift
// galaxy
//
// Created by davidhuangA on 2024/1/17.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHDavidCell0: UITableViewCell {
static let cellReuseIdentifier = "YHDavidCell0"
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
setupUI()
}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
setupUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}
lazy var headImage: UIImageView = {
let imagV = UIImageView()
imagV.contentMode = .scaleAspectFill
imagV.image = UIImage(named: "home_cell0_head_icon")
return imagV
}()
lazy var contentImage: UIImageView = {
let imagV = UIImageView()
imagV.contentMode = .scaleAspectFill
imagV.image = UIImage(named: "home_cell0_content_icon")
return imagV
}()
func setupUI() {
contentView.backgroundColor = .clear
backgroundColor = .clear
contentView.addSubview(headImage)
contentView.addSubview(contentImage)
contentImage.snp.makeConstraints { make in
make.top.equalToSuperview().offset(12)
make.right.equalToSuperview().offset(-16)
make.width.equalTo(242)
make.height.equalTo(97)
}
headImage.snp.makeConstraints { make in
make.right.equalTo(contentImage.snp.left)
make.width.equalTo(88)
make.height.equalTo(122)
make.bottom.equalToSuperview()
}
}
}
//
// YHDavidCell0.swift
// galaxy
//
// Created by davidhuangA on 2024/1/17.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHDavidCell1: UITableViewCell {
static let cellReuseIdentifier = "YHDavidCell1"
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
setupUI()
}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
setupUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}
lazy var bigImageView: UIImageView = {
let imagV = UIImageView()
imagV.contentMode = .scaleToFill
imagV.image = UIImage(named: "home_cell1_bkg")
return imagV
}()
lazy var subContentView : UIView = {
let view = UIView()
view.backgroundColor = UIColor(hex: 0x999999, alpha: 1.0)
view.layer.cornerRadius = 12
return view
}()
func setupUI() {
contentView.backgroundColor = .clear
backgroundColor = .clear
contentView.addSubview(subContentView)
subContentView.snp.makeConstraints { make in
make.top.equalToSuperview()
make.left.equalTo(16)
make.right.equalTo(-16)
make.height.equalTo(182)
}
subContentView.addSubview(bigImageView)
bigImageView.snp.makeConstraints { make in
make.top.left.right.equalToSuperview()
make.height.equalTo(182)
}
}
}
//
// YHDavidCell0.swift
// galaxy
//
// Created by davidhuangA on 2024/1/17.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHDavidCell2: UITableViewCell {
static let cellReuseIdentifier = "YHDavidCell2"
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
setupUI()
}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
setupUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}
lazy var bigImageView: UIImageView = {
let imagV = UIImageView()
imagV.contentMode = .scaleToFill
imagV.image = UIImage(named: "home_cell1_bkg")
return imagV
}()
lazy var subContentView : UIView = {
let view = UIView()
view.backgroundColor = UIColor(hex: 0x999999, alpha: 1.0)
view.layer.cornerRadius = 12
view.layer.backgroundColor = UIColor(red: 1, green: 1, blue: 1, alpha: 1).cgColor
view.layer.cornerRadius = 10
view.layer.borderWidth = 0.5
view.layer.borderColor = UIColor(red: 0.862, green: 0.862, blue: 0.862, alpha: 1).cgColor
return view
}()
func setupUI() {
contentView.backgroundColor = .clear
backgroundColor = .clear
contentView.addSubview(subContentView)
subContentView.snp.makeConstraints { make in
make.top.equalToSuperview()
make.left.equalTo(16)
make.right.equalTo(-16)
make.height.equalTo(99)
}
}
}
//
// YHDavidCell0.swift
// galaxy
//
// Created by davidhuangA on 2024/1/17.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHDavidCell3: UITableViewCell {
static let cellReuseIdentifier = "YHDavidCell3"
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
setupUI()
}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
setupUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}
lazy var bigImageView: UIImageView = {
let imagV = UIImageView()
imagV.contentMode = .scaleToFill
imagV.image = UIImage(named: "home_cell1_bkg")
return imagV
}()
lazy var subContentView : UIView = {
let view = UIView()
view.layer.backgroundColor = UIColor(red: 1, green: 1, blue: 1, alpha: 1).cgColor
return view
}()
func setupUI() {
contentView.backgroundColor = .clear
backgroundColor = .clear
contentView.addSubview(subContentView)
subContentView.snp.makeConstraints { make in
make.top.left.right.equalToSuperview()
make.height.equalTo(138)
}
let bbxLable = UILabel()
bbxLable.text = "银河推荐官"
bbxLable.textColor = UIColor(red: 0.2, green: 0.2, blue: 0.2, alpha: 1)
bbxLable.font = kFont(size: 18)
subContentView.addSubview(bbxLable)
bbxLable.snp.makeConstraints { make in
make.top.equalTo(13)
make.left.equalTo(25)
}
let desLable = UILabel()
desLable.text = "邀请拉新,合作共赢"
desLable.frame = CGRect(x: 0, y: 0, width: 141.5, height: 11.5)
desLable.textColor = UIColor(red: 0.592, green: 0.592, blue: 0.592, alpha: 1)
desLable.font = kFont(size: 10)
subContentView.addSubview(desLable)
desLable.snp.makeConstraints { make in
make.left.equalTo(bbxLable.snp.right).offset(11)
make.centerY.equalTo(bbxLable)
}
}
}
//
// YHDavidCell0.swift
// galaxy
//
// Created by davidhuangA on 2024/1/17.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import FSPagerView
class YHDavidCell4: UITableViewCell {
fileprivate var dataArr: [YHBannerModel] = [YHBannerModel(),YHBannerModel(),YHBannerModel(),YHBannerModel(),YHBannerModel()]
static let cellHeight : CGFloat = 88 + 20
static let cellReuseIdentifier = "YHDavidCell4"
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
setupUI()
}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
setupUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}
lazy var subContentView : UIView = {
let view = UIView()
// view.backgroundColor = .red
return view
}()
private lazy var bannerView: FSPagerView = {
let view = FSPagerView()
view.delegate = self
view.dataSource = self
view.automaticSlidingInterval = 2
view.register(FSPagerViewCell.self, forCellWithReuseIdentifier: "cell")
view.itemSize = FSPagerView.automaticSize
view.interitemSpacing = 10
view.isInfinite = true
return view
}()
lazy var pageControl: FSPageControl = {
let view = FSPageControl()
return view
}()
func setupUI() {
contentView.backgroundColor = .clear
backgroundColor = .clear
contentView.addSubview(subContentView)
subContentView.snp.makeConstraints { make in
make.top.equalToSuperview()
make.left.equalTo(16)
make.right.equalTo(-16)
make.bottom.equalToSuperview()
}
subContentView.addSubview(bannerView)
bannerView.snp.makeConstraints { make in
make.top.left.right.equalToSuperview()
make.height.equalTo(80)
}
subContentView.addSubview(pageControl)
pageControl.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalTo(bannerView.snp.bottom)
make.height.equalTo(20)
}
setupPageControl()
bannerView.reloadData()
}
func setupPageControl() {
self.pageControl.numberOfPages = self.dataArr.count
self.pageControl.contentHorizontalAlignment = .center
let normalImage = UIImage(color: .white, size: CGSize(width: 15, height: 5))
let selectImage = UIImage(color: UIColor(hex: 0xff0000, alpha: 1.0), size: CGSize(width: 20, height: 5))
self.pageControl.setImage(normalImage, for: .normal)
self.pageControl.setImage(selectImage, for: .selected)
self.pageControl.interitemSpacing = 15
}
}
// MARK: - FSPagerViewDelegate
extension YHDavidCell4: FSPagerViewDataSource, FSPagerViewDelegate {
public func numberOfItems(in pagerView: FSPagerView) -> Int {
return self.dataArr.count
}
public func pagerView(_ pagerView: FSPagerView, cellForItemAt index: Int) -> FSPagerViewCell {
let cell = pagerView.dequeueReusableCell(withReuseIdentifier: "cell", at: index)
let image = UIImage(named: "default_placeholder_image")?.bs_scaled(toWidth: UIDevice.kScreenW - 16*2, opaque: false)
cell.imageView?.image = image
if index < dataArr.count {
let model = dataArr[index]
if let url = URL(string: model.img_url) {
cell.imageView?.kf.setImage(with: url)
}
// cell.textLabel?.text = model.title
}
cell.imageView?.contentMode = .scaleAspectFill
cell.backgroundColor = .commonColor3
cell.contentView.layer.shadowColor = UIColor.clear.cgColor
return cell
}
func pagerViewWillEndDragging(_ pagerView: FSPagerView, targetIndex: Int) {
self.pageControl.currentPage = targetIndex
}
func pagerViewDidEndScrollAnimation(_ pagerView: FSPagerView) {
self.pageControl.currentPage = pagerView.currentIndex
}
}
//
// YHDavidCell0.swift
// galaxy
//
// Created by davidhuangA on 2024/1/17.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHDavidCell5: UITableViewCell {
static let cellHeight : CGFloat = 219
static let cellReuseIdentifier = "YHDavidCell5"
let items : [Int32] = [1,2,3,4,5,6,7,8]
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
setupUI()
}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
setupUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}
lazy var subContentView : UIView = {
let view = UIView()
view.backgroundColor = .white
return view
}()
var myCollectView : UICollectionView!
// lazy var myCollectView = {
// // 设置布局方向
//
//
//
// return collectinoView
// }()
func setupUI() {
contentView.backgroundColor = .clear
backgroundColor = .clear
contentView.addSubview(subContentView)
subContentView.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
let bbxLable = UILabel()
bbxLable.text = "百宝箱"
bbxLable.textColor = UIColor(red: 0.2, green: 0.2, blue: 0.2, alpha: 1)
bbxLable.font = kFont(size: 18)
subContentView.addSubview(bbxLable)
bbxLable.snp.makeConstraints { make in
make.top.equalTo(13)
make.left.equalTo(25)
}
let desLable = UILabel()
desLable.text = "香港本地宝,智慧小助手"
desLable.frame = CGRect(x: 0, y: 0, width: 141.5, height: 11.5)
desLable.textColor = UIColor(red: 0.592, green: 0.592, blue: 0.592, alpha: 1)
desLable.font = kFont(size: 10)
subContentView.addSubview(desLable)
desLable.snp.makeConstraints { make in
make.left.equalTo(bbxLable.snp.right).offset(11)
make.centerY.equalTo(bbxLable)
}
// subContentView.backgroundColor = UIColor(hex: 0x999999)
let flowLayout = UICollectionViewFlowLayout()
let margin = 16.0
let gap = 20.0
let itemWidth = 80.0
flowLayout.itemSize = CGSize(width: itemWidth, height: 64)
flowLayout.minimumInteritemSpacing = (KScreenWidth - 2 * 16 - 2*16 - 4 * itemWidth)/4
flowLayout.minimumLineSpacing = 15.0
flowLayout.scrollDirection = .vertical
let collectinoView = YHGestureCollectionView(frame: .zero, collectionViewLayout: flowLayout)
collectinoView.contentInset = UIEdgeInsets(top: 0, left: margin, bottom: 20, right: margin)
collectinoView.backgroundColor = .white
collectinoView.register(YHBbxCollectionViewCell.self, forCellWithReuseIdentifier:YHBbxCollectionViewCell.cellReuseIdentifier)
collectinoView.delegate = self
collectinoView.dataSource = self
collectinoView.translatesAutoresizingMaskIntoConstraints = false
collectinoView.alwaysBounceVertical = true
myCollectView = collectinoView
myCollectView.isScrollEnabled = false
subContentView.addSubview(myCollectView)
myCollectView.snp.makeConstraints { make in
make.top.equalTo(bbxLable.snp.bottom).offset(15)
make.left.equalToSuperview().offset(16)
make.right.equalToSuperview().offset(-16)
make.bottom.equalToSuperview().offset(-20)
}
}
}
extension YHDavidCell5: UICollectionViewDelegateFlowLayout, UICollectionViewDelegate, UICollectionViewDataSource {
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return items.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: YHBbxCollectionViewCell.cellReuseIdentifier, for: indexPath) as! YHBbxCollectionViewCell
return cell
}
private func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
print("index is \(indexPath.row)")
}
}
...@@ -11,16 +11,6 @@ import UIKit ...@@ -11,16 +11,6 @@ import UIKit
class YHDavidTestCollectionViewCell: UICollectionViewCell { class YHDavidTestCollectionViewCell: UICollectionViewCell {
static let cellReuseIdentifier = "YHDavidTestCollectionViewCell" static let cellReuseIdentifier = "YHDavidTestCollectionViewCell"
var advantateItem : AboutAdvantageItem? {
didSet {
// if let advantateItem = advantateItem {
// iconImgView.image = UIImage(named: advantateItem.iconName)
// titleLabel.text = advantateItem.title
// detailLabel.text = advantateItem.detail
// }
}
}
lazy var titleImageView:UIImageView = { lazy var titleImageView:UIImageView = {
let imageV = UIImageView(image: UIImage(named: "home_title_image")) let imageV = UIImageView(image: UIImage(named: "home_title_image"))
imageV.contentMode = .scaleAspectFill imageV.contentMode = .scaleAspectFill
......
...@@ -19,9 +19,9 @@ extension YHGestureTableView: UIGestureRecognizerDelegate { ...@@ -19,9 +19,9 @@ extension YHGestureTableView: UIGestureRecognizerDelegate {
return true return true
} }
open override func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool { // open override func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
return true // return true
} // }
} }
...@@ -39,9 +39,9 @@ extension YHGestureScrollView: UIGestureRecognizerDelegate { ...@@ -39,9 +39,9 @@ extension YHGestureScrollView: UIGestureRecognizerDelegate {
return true return true
} }
open override func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool { // open override func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
return true // return true
} // }
} }
...@@ -58,8 +58,8 @@ extension YHGestureCollectionView: UIGestureRecognizerDelegate { ...@@ -58,8 +58,8 @@ extension YHGestureCollectionView: UIGestureRecognizerDelegate {
return true return true
} }
open override func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool { // open override func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
return true // return true
} // }
} }
...@@ -90,8 +90,6 @@ class YHHomeBannerView: UIView { ...@@ -90,8 +90,6 @@ class YHHomeBannerView: UIView {
view.automaticSlidingInterval = 3 view.automaticSlidingInterval = 3
view.register(FSPagerViewCell.self, forCellWithReuseIdentifier: "cell") view.register(FSPagerViewCell.self, forCellWithReuseIdentifier: "cell")
view.itemSize = FSPagerView.automaticSize view.itemSize = FSPagerView.automaticSize
// view.layer.cornerRadius = 10
// view.layer.masksToBounds = true
view.interitemSpacing = 10 view.interitemSpacing = 10
return view return view
}() }()
...@@ -129,8 +127,7 @@ extension YHHomeBannerView: FSPagerViewDataSource, FSPagerViewDelegate { ...@@ -129,8 +127,7 @@ extension YHHomeBannerView: FSPagerViewDataSource, FSPagerViewDelegate {
cell.textLabel?.text = model.title cell.textLabel?.text = model.title
} }
cell.imageView?.contentMode = .scaleAspectFill cell.imageView?.contentMode = .scaleAspectFill
// cell.imageView?.clipsToBounds = true
// cell.imageView?.layer.cornerRadius = 10
cell.backgroundColor = .commonColor3 cell.backgroundColor = .commonColor3
cell.contentView.layer.shadowColor = UIColor.clear.cgColor cell.contentView.layer.shadowColor = UIColor.clear.cgColor
......
...@@ -42,8 +42,6 @@ class YHHomeCustomCell: UITableViewCell { ...@@ -42,8 +42,6 @@ class YHHomeCustomCell: UITableViewCell {
collectionView.backgroundColor = UIColor.white collectionView.backgroundColor = UIColor.white
collectionView.register(YHAboutUsAdvantageCell.self, forCellWithReuseIdentifier:YHAboutUsAdvantageCell.cellReuseIdentifier) collectionView.register(YHAboutUsAdvantageCell.self, forCellWithReuseIdentifier:YHAboutUsAdvantageCell.cellReuseIdentifier)
collectionView.delegate = self collectionView.delegate = self
collectionView.dataSource = self
collectionView.backgroundColor = .yellow //for test hjl
collectionContainer = UIView(frame: .zero) collectionContainer = UIView(frame: .zero)
......
{
"images" : [
{
"filename" : "功能.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "功能@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "功能@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"filename" : "Rectangle 8294.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Rectangle 8294@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Rectangle 8294@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"filename" : "摄图网_402396259_banner_职业商务女性精英形象(企业商用) 8.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "摄图网_402396259_banner_职业商务女性精英形象(企业商用) 8@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "摄图网_402396259_banner_职业商务女性精英形象(企业商用) 8@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"filename" : "Rectangle 2429.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Rectangle 2429@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Rectangle 2429@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
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