From 3fa53409f5132333ce6d83fff796e108ddd62090 Mon Sep 17 00:00:00 2001 From: 杨锴 <841720330@qq.com> Date: 星期一, 16 六月 2025 23:25:25 +0800 Subject: [PATCH] fix --- DolphinEnglishLearnStudent/Assets.xcassets/Icon/home_arrow_up.imageset/Fill 1@2x.png | 0 DolphinEnglishLearnStudent/Moudle/Home/Listen/TCell/HomeListen_process_TCell.xib | 55 +- DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenSubVC.swift | 2 DolphinEnglishLearnStudent/Assets.xcassets/Icon/erji.imageset/erji@2x.png | 0 DolphinEnglishLearnStudent/Assets.xcassets/logo_1.imageset/Group@3x.png | 0 DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenVC.swift | 282 ++++++++-------- DolphinEnglishLearnStudent/Assets.xcassets/Icon/erji.imageset/Contents.json | 22 + DolphinEnglishLearnStudent/Assets.xcassets/Icon/home_arrow_up.imageset/Contents.json | 3 DolphinEnglishLearnStudent/Moudle/Home/Listen/TCell/HomeListen_process_TCell.swift | 48 +- DolphinEnglishLearnStudent/Moudle/Home/HomeVC.xib | 374 +++++++++++++++-------- /dev/null | 0 DolphinEnglishLearnStudent/Assets.xcassets/logo_1.imageset/Contents.json | 22 + DolphinEnglishLearnStudent/Assets.xcassets/Icon/erji.imageset/erji.png | 0 DolphinEnglishLearnStudent/Assets.xcassets/logo_1.imageset/Group@2x.png | 0 DolphinEnglishLearnStudent/Moudle/Home/HomeVC.swift | 108 +++--- DolphinEnglishLearnStudent/Moudle/Home/View/AwardListView.xib | 14 16 files changed, 548 insertions(+), 382 deletions(-) diff --git a/DolphinEnglishLearnStudent/Assets.xcassets/Icon/erji.imageset/Contents.json b/DolphinEnglishLearnStudent/Assets.xcassets/Icon/erji.imageset/Contents.json new file mode 100644 index 0000000..a3fdf9b --- /dev/null +++ b/DolphinEnglishLearnStudent/Assets.xcassets/Icon/erji.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "filename" : "erji.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "erji@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/DolphinEnglishLearnStudent/Assets.xcassets/Icon/erji.imageset/erji.png b/DolphinEnglishLearnStudent/Assets.xcassets/Icon/erji.imageset/erji.png new file mode 100644 index 0000000..492a164 --- /dev/null +++ b/DolphinEnglishLearnStudent/Assets.xcassets/Icon/erji.imageset/erji.png Binary files differ diff --git a/DolphinEnglishLearnStudent/Assets.xcassets/Icon/erji.imageset/erji@2x.png b/DolphinEnglishLearnStudent/Assets.xcassets/Icon/erji.imageset/erji@2x.png new file mode 100644 index 0000000..63f2627 --- /dev/null +++ b/DolphinEnglishLearnStudent/Assets.xcassets/Icon/erji.imageset/erji@2x.png Binary files differ diff --git a/DolphinEnglishLearnStudent/Assets.xcassets/Icon/home_arrow_up.imageset/Contents.json b/DolphinEnglishLearnStudent/Assets.xcassets/Icon/home_arrow_up.imageset/Contents.json index 82c2a50..9ba8b05 100644 --- a/DolphinEnglishLearnStudent/Assets.xcassets/Icon/home_arrow_up.imageset/Contents.json +++ b/DolphinEnglishLearnStudent/Assets.xcassets/Icon/home_arrow_up.imageset/Contents.json @@ -1,12 +1,11 @@ { "images" : [ { - "filename" : "home_arrow_up.png", + "filename" : "Fill 1@2x.png", "idiom" : "ipad", "scale" : "1x" }, { - "filename" : "home_arrow_up@2x.png", "idiom" : "ipad", "scale" : "2x" } diff --git a/DolphinEnglishLearnStudent/Assets.xcassets/Icon/home_arrow_up.imageset/Fill 1@2x.png b/DolphinEnglishLearnStudent/Assets.xcassets/Icon/home_arrow_up.imageset/Fill 1@2x.png new file mode 100644 index 0000000..c7d520a --- /dev/null +++ b/DolphinEnglishLearnStudent/Assets.xcassets/Icon/home_arrow_up.imageset/Fill 1@2x.png Binary files differ diff --git a/DolphinEnglishLearnStudent/Assets.xcassets/Icon/home_arrow_up.imageset/home_arrow_up.png b/DolphinEnglishLearnStudent/Assets.xcassets/Icon/home_arrow_up.imageset/home_arrow_up.png deleted file mode 100644 index b0d25c1..0000000 --- a/DolphinEnglishLearnStudent/Assets.xcassets/Icon/home_arrow_up.imageset/home_arrow_up.png +++ /dev/null Binary files differ diff --git a/DolphinEnglishLearnStudent/Assets.xcassets/Icon/home_arrow_up.imageset/home_arrow_up@2x.png b/DolphinEnglishLearnStudent/Assets.xcassets/Icon/home_arrow_up.imageset/home_arrow_up@2x.png deleted file mode 100644 index e208713..0000000 --- a/DolphinEnglishLearnStudent/Assets.xcassets/Icon/home_arrow_up.imageset/home_arrow_up@2x.png +++ /dev/null Binary files differ diff --git a/DolphinEnglishLearnStudent/Assets.xcassets/logo_1.imageset/Contents.json b/DolphinEnglishLearnStudent/Assets.xcassets/logo_1.imageset/Contents.json new file mode 100644 index 0000000..b557b05 --- /dev/null +++ b/DolphinEnglishLearnStudent/Assets.xcassets/logo_1.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "filename" : "Group@2x.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "Group@3x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/DolphinEnglishLearnStudent/Assets.xcassets/logo_1.imageset/Group@2x.png b/DolphinEnglishLearnStudent/Assets.xcassets/logo_1.imageset/Group@2x.png new file mode 100644 index 0000000..fe3cd82 --- /dev/null +++ b/DolphinEnglishLearnStudent/Assets.xcassets/logo_1.imageset/Group@2x.png Binary files differ diff --git a/DolphinEnglishLearnStudent/Assets.xcassets/logo_1.imageset/Group@3x.png b/DolphinEnglishLearnStudent/Assets.xcassets/logo_1.imageset/Group@3x.png new file mode 100644 index 0000000..cc1e685 --- /dev/null +++ b/DolphinEnglishLearnStudent/Assets.xcassets/logo_1.imageset/Group@3x.png Binary files differ diff --git a/DolphinEnglishLearnStudent/Moudle/Home/HomeVC.swift b/DolphinEnglishLearnStudent/Moudle/Home/HomeVC.swift index 5a05cea..8682cac 100644 --- a/DolphinEnglishLearnStudent/Moudle/Home/HomeVC.swift +++ b/DolphinEnglishLearnStudent/Moudle/Home/HomeVC.swift @@ -10,63 +10,71 @@ class HomeVC: BaseVC { -// @IBOutlet weak var view_menu: UIView! - override func viewDidLoad() { + + @IBOutlet weak var view_yearTwo: TapBtn! + @IBOutlet weak var view_yearThree: TapBtn! + @IBOutlet weak var view_yearFour: TapBtn! + + override func viewDidLoad() { super.viewDidLoad() - Services.parentPage().subscribe(onNext: {data in - if let imgStr = data.data{ - let promptlaunchScreen = UserDefaults.standard.object(forKey: "promptlaunchScreen") as? String - if promptlaunchScreen != imgStr || promptlaunchScreen == nil{ - SDWebImageDownloader.shared.downloadImage(with: URL(string: imgStr)) { image, _, _, _ in - if let img = image{ - LaunchImageHelper.changeAllLaunchImageToLandscape(img) - UserDefaults.standard.setValue(imgStr, forKey: "promptlaunchScreen") - UserDefaults.standard.synchronize() - } - } - } - } - }).disposed(by: disposeBag) + Services.parentPage().subscribe(onNext: {data in + if let imgStr = data.data{ + let promptlaunchScreen = UserDefaults.standard.object(forKey: "promptlaunchScreen") as? String + if promptlaunchScreen != imgStr || promptlaunchScreen == nil{ + SDWebImageDownloader.shared.downloadImage(with: URL(string: imgStr)) { image, _, _, _ in + if let img = image{ + LaunchImageHelper.changeAllLaunchImageToLandscape(img) + UserDefaults.standard.setValue(imgStr, forKey: "promptlaunchScreen") + UserDefaults.standard.synchronize() + } + } + } + } + }).disposed(by: disposeBag) - Services.promptVoice().subscribe(onNext: {data in - if let model = data.data{ - let voice = UserDefaults.standard.object(forKey: "promptVoiceDate") as? String - if model.updateTime != voice || !VoicePlayer.hasPromoteVoice(){ - VoicePlayer.share().donwloadPromoteVoice(successVoice: model.correct, failVoice: model.error,updateTime: model.updateTime) - } - } - }).disposed(by: disposeBag) + Services.promptVoice().subscribe(onNext: {data in + if let model = data.data{ + let voice = UserDefaults.standard.object(forKey: "promptVoiceDate") as? String + if model.updateTime != voice || !VoicePlayer.hasPromoteVoice(){ + VoicePlayer.share().donwloadPromoteVoice(successVoice: model.correct, failVoice: model.error,updateTime: model.updateTime) + } + } + }).disposed(by: disposeBag) } - override func viewDidLayoutSubviews() { -// view_menu.jq_gradientColor(colorArr: [UIColor(hexString: "#F9F5E0")!.cgColor,UIColor(hexString: "#EBF6FF")!.cgColor], cornerRadius: 8, startPoint: CGPoint(x: 0, y: 0), endPoint: CGPoint(x: 0, y: 1), bounds: nil,locations: [NSNumber(value: 0.35)]) - } + override func viewDidLayoutSubviews() { + view_yearTwo.jq_gradientColor(colorArr: [UIColor(hexString: "#F0F0F0")!.cgColor,UIColor(hexString: "#DDDDDD")!.cgColor], cornerRadius: 15, startPoint: CGPoint(x: 0, y: 0), endPoint: CGPoint(x: 0, y: 1), bounds: nil,locations: [NSNumber(value: 0.35)]) - @IBAction func listenAction(_ sender: UIButton) { + view_yearThree.jq_gradientColor(colorArr: [UIColor(hexString: "#F0F0F0")!.cgColor,UIColor(hexString: "#DDDDDD")!.cgColor], cornerRadius: 15, startPoint: CGPoint(x: 0, y: 0), endPoint: CGPoint(x: 0, y: 1), bounds: nil,locations: [NSNumber(value: 0.35)]) - Services.goodRecommend().subscribe(onNext: { data in - if (data.data?.count ?? 0) > 0{ - AwardListView.show(items: data.data ?? []) { _ in - // not todo - }closeClouse: { () in - let listenMenuVC = HomeListenMenuVC() - listenMenuVC.title = "第一年学习周目选择" - self.push(vc: listenMenuVC) - } - }else{ - let listenMenuVC = HomeListenMenuVC() - listenMenuVC.title = "第一年学习周目选择" - self.push(vc: listenMenuVC) - } - },onError: { error in - let listenMenuVC = HomeListenMenuVC() - listenMenuVC.title = "第一年学习周目选择" - self.push(vc: listenMenuVC) - }).disposed(by: disposeBag) + view_yearFour.jq_gradientColor(colorArr: [UIColor(hexString: "#F0F0F0")!.cgColor,UIColor(hexString: "#DDDDDD")!.cgColor], cornerRadius: 15, startPoint: CGPoint(x: 0, y: 0), endPoint: CGPoint(x: 0, y: 1), bounds: nil,locations: [NSNumber(value: 0.35)]) + } + + @IBAction func listenAction(_ sender: UIButton) { + + Services.goodRecommend().subscribe(onNext: { data in + if (data.data?.count ?? 0) > 0{ + AwardListView.show(items: data.data ?? []) { _ in + // not todo + }closeClouse: { () in + let listenMenuVC = HomeListenMenuVC() + listenMenuVC.title = "第一年学习周目选择" + self.push(vc: listenMenuVC) + } + }else{ + let listenMenuVC = HomeListenMenuVC() + listenMenuVC.title = "第一年学习周目选择" + self.push(vc: listenMenuVC) + } + },onError: { error in + let listenMenuVC = HomeListenMenuVC() + listenMenuVC.title = "第一年学习周目选择" + self.push(vc: listenMenuVC) + }).disposed(by: disposeBag) - } - - + } + + } diff --git a/DolphinEnglishLearnStudent/Moudle/Home/HomeVC.xib b/DolphinEnglishLearnStudent/Moudle/Home/HomeVC.xib index 70fc10f..63fb64a 100644 --- a/DolphinEnglishLearnStudent/Moudle/Home/HomeVC.xib +++ b/DolphinEnglishLearnStudent/Moudle/Home/HomeVC.xib @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> -<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23504" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> <device id="ipad10_9rounded" orientation="landscape" layout="fullscreen" appearance="light"/> <dependencies> <deployment identifier="iOS"/> - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/> + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23506"/> <capability name="Safe area layout guides" minToolsVersion="9.0"/> <capability name="System colors in document resources" minToolsVersion="11.0"/> <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> @@ -12,6 +12,9 @@ <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="HomeVC" customModule="DolphinEnglishLearnStudent" customModuleProvider="target"> <connections> <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> + <outlet property="view_yearFour" destination="LGI-6d-ayY" id="d61-cH-rFX"/> + <outlet property="view_yearThree" destination="RNu-95-cei" id="eu2-MZ-fkn"/> + <outlet property="view_yearTwo" destination="bRK-h8-9be" id="JHL-YF-7h3"/> </connections> </placeholder> <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> @@ -20,25 +23,28 @@ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="u25-QY-P0i"> - <rect key="frame" x="0.0" y="0.0" width="299.5" height="820"/> + <rect key="frame" x="0.0" y="0.0" width="311.5" height="820"/> <subviews> - <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="logo" translatesAutoresizingMaskIntoConstraints="NO" id="3du-Pw-IgI"> - <rect key="frame" x="77.5" y="40" width="144" height="136"/> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="logo_1" translatesAutoresizingMaskIntoConstraints="NO" id="3du-Pw-IgI"> + <rect key="frame" x="0.0" y="0.0" width="311.5" height="162"/> + <constraints> + <constraint firstAttribute="width" secondItem="3du-Pw-IgI" secondAttribute="height" multiplier="1:0.52" id="CuF-Fo-rfx"/> + </constraints> </imageView> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="欢迎使用哆能智学!" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumScaleFactor="0.5" adjustsFontForContentSizeCategory="YES" translatesAutoresizingMaskIntoConstraints="NO" id="nUx-UB-L4X"> - <rect key="frame" x="18" y="193" width="263.5" height="33.5"/> - <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="28"/> - <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> + <rect key="frame" x="18" y="184" width="275.5" height="37"/> + <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="31"/> + <color key="textColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" usesAttributedText="YES" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="oad-Jg-rwh"> - <rect key="frame" x="18" y="238.5" width="192.5" height="50.5"/> + <rect key="frame" x="18" y="233" width="197.5" height="55"/> <attributedString key="attributedText"> <fragment content="孩子自己就能学好的"> <attributes> - <color key="NSColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> - <font key="NSFont" metaFont="system" size="21"/> - <font key="NSOriginalFont" metaFont="system" size="21"/> + <color key="NSColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/> + <font key="NSFont" metaFont="system" size="23"/> + <font key="NSOriginalFont" metaFont="system" size="23"/> <paragraphStyle key="NSParagraphStyle" alignment="left" lineBreakMode="wordWrapping" baseWritingDirection="natural" tighteningFactorForTruncation="0.0"/> </attributes> </fragment> @@ -47,16 +53,16 @@ Cg </string> <attributes> - <color key="NSColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> - <font key="NSFont" metaFont="system" size="21"/> + <color key="NSColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/> + <font key="NSFont" metaFont="system" size="23"/> <paragraphStyle key="NSParagraphStyle" alignment="left" lineBreakMode="wordWrapping" baseWritingDirection="natural" tighteningFactorForTruncation="0.0"/> </attributes> </fragment> <fragment content="英语课程体系"> <attributes> - <color key="NSColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> - <font key="NSFont" metaFont="system" size="21"/> - <font key="NSOriginalFont" metaFont="system" size="21"/> + <color key="NSColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/> + <font key="NSFont" metaFont="system" size="23"/> + <font key="NSOriginalFont" metaFont="system" size="23"/> <paragraphStyle key="NSParagraphStyle" alignment="left" lineBreakMode="wordWrapping" baseWritingDirection="natural" tighteningFactorForTruncation="0.0" allowsDefaultTighteningForTruncation="NO"/> </attributes> </fragment> @@ -66,10 +72,12 @@ </subviews> <color key="backgroundColor" red="0.25490196078431371" green="0.63529411764705879" blue="0.92156862745098034" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <constraints> - <constraint firstAttribute="width" secondItem="u25-QY-P0i" secondAttribute="height" multiplier="0.365:1" id="1p9-mr-7Cm"/> + <constraint firstAttribute="trailing" secondItem="3du-Pw-IgI" secondAttribute="trailing" id="0oW-Lc-fRc"/> <constraint firstItem="oad-Jg-rwh" firstAttribute="top" secondItem="nUx-UB-L4X" secondAttribute="bottom" constant="12" id="4gV-bW-UaL"/> - <constraint firstItem="3du-Pw-IgI" firstAttribute="top" secondItem="u25-QY-P0i" secondAttribute="topMargin" constant="8" id="bed-Zd-FF0"/> - <constraint firstItem="nUx-UB-L4X" firstAttribute="top" secondItem="3du-Pw-IgI" secondAttribute="bottom" constant="17" id="fRe-0s-Fyh"/> + <constraint firstItem="3du-Pw-IgI" firstAttribute="leading" secondItem="u25-QY-P0i" secondAttribute="leading" id="CJq-Fu-Ptu"/> + <constraint firstAttribute="width" secondItem="u25-QY-P0i" secondAttribute="height" multiplier="0.38:1" id="NAp-xP-nYJ"/> + <constraint firstItem="3du-Pw-IgI" firstAttribute="top" secondItem="u25-QY-P0i" secondAttribute="top" id="e8e-3z-kX1"/> + <constraint firstItem="nUx-UB-L4X" firstAttribute="top" secondItem="3du-Pw-IgI" secondAttribute="bottom" constant="22" id="fRe-0s-Fyh"/> <constraint firstItem="3du-Pw-IgI" firstAttribute="centerX" secondItem="u25-QY-P0i" secondAttribute="centerX" id="jBE-CO-PUA"/> <constraint firstItem="oad-Jg-rwh" firstAttribute="leading" secondItem="u25-QY-P0i" secondAttribute="leading" constant="18" id="tWV-v1-fVv"/> <constraint firstAttribute="trailing" secondItem="nUx-UB-L4X" secondAttribute="trailing" constant="18" id="uua-ac-KNt"/> @@ -77,100 +85,16 @@ </constraints> </view> <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="8a7-s7-2fd"> - <rect key="frame" x="332.5" y="199" width="380" height="88"/> + <rect key="frame" x="449.5" y="24" width="604.5" height="660"/> <subviews> - <view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="A0m-iE-WEq"> - <rect key="frame" x="0.0" y="0.0" width="380" height="59"/> - <subviews> - <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_arrow_up" translatesAutoresizingMaskIntoConstraints="NO" id="uJm-Us-sBO"> - <rect key="frame" x="33" y="11" width="20" height="37"/> - </imageView> - </subviews> - <color key="backgroundColor" systemColor="systemBackgroundColor"/> - <constraints> - <constraint firstItem="uJm-Us-sBO" firstAttribute="leading" secondItem="A0m-iE-WEq" secondAttribute="leading" constant="33" id="0xE-kt-Yeh"/> - <constraint firstAttribute="height" constant="59" id="JuD-so-WAc"/> - <constraint firstItem="uJm-Us-sBO" firstAttribute="centerY" secondItem="A0m-iE-WEq" secondAttribute="centerY" id="MoR-NR-35e"/> - </constraints> - </view> - <view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="vB7-Gs-18h"> - <rect key="frame" x="0.0" y="0.0" width="380" height="88"/> - <subviews> - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="EhG-4I-wv7"> - <rect key="frame" x="0.0" y="0.0" width="99" height="88"/> - <subviews> - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="第二年" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9yR-aO-6u5"> - <rect key="frame" x="0.0" y="52" width="99" height="22"/> - <constraints> - <constraint firstAttribute="height" constant="22" id="pNn-aw-KDe"/> - </constraints> - <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="16"/> - <nil key="textColor"/> - <nil key="highlightedColor"/> - </label> - <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_read" translatesAutoresizingMaskIntoConstraints="NO" id="vJh-51-3CD"> - <rect key="frame" x="31" y="13" width="37" height="37"/> - </imageView> - </subviews> - <color key="backgroundColor" red="0.61960784313725492" green="0.54117647058823526" blue="0.85882352941176465" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> - <constraints> - <constraint firstAttribute="trailing" secondItem="9yR-aO-6u5" secondAttribute="trailing" id="BPZ-TF-juS"/> - <constraint firstAttribute="height" constant="88" id="EBl-vD-Rry"/> - <constraint firstAttribute="width" constant="99" id="FPs-bT-2XV"/> - <constraint firstItem="9yR-aO-6u5" firstAttribute="leading" secondItem="EhG-4I-wv7" secondAttribute="leading" id="MrA-Ic-bYP"/> - <constraint firstItem="vJh-51-3CD" firstAttribute="top" secondItem="EhG-4I-wv7" secondAttribute="top" constant="13" id="OWt-Bu-tCJ"/> - <constraint firstItem="vJh-51-3CD" firstAttribute="centerX" secondItem="9yR-aO-6u5" secondAttribute="centerX" id="USs-dV-4Ye"/> - <constraint firstAttribute="bottom" secondItem="9yR-aO-6u5" secondAttribute="bottom" constant="14" id="mSq-jc-zkL"/> - </constraints> - </view> - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="认读" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="NOj-Vj-QlF"> - <rect key="frame" x="99" y="0.0" width="281" height="88"/> - <fontDescription key="fontDescription" type="system" pointSize="17"/> - <nil key="textColor"/> - <nil key="highlightedColor"/> - </label> - </subviews> - <color key="backgroundColor" systemColor="systemBackgroundColor"/> - <constraints> - <constraint firstAttribute="trailing" secondItem="NOj-Vj-QlF" secondAttribute="trailing" id="7wF-XH-l6X"/> - <constraint firstItem="EhG-4I-wv7" firstAttribute="leading" secondItem="vB7-Gs-18h" secondAttribute="leading" id="Ena-XQ-Eb9"/> - <constraint firstAttribute="width" constant="380" id="Spe-Jo-zr8"/> - <constraint firstItem="NOj-Vj-QlF" firstAttribute="top" secondItem="vB7-Gs-18h" secondAttribute="top" id="Ta7-te-qDu"/> - <constraint firstItem="EhG-4I-wv7" firstAttribute="top" secondItem="vB7-Gs-18h" secondAttribute="top" id="U5D-Qx-VKe"/> - <constraint firstAttribute="bottom" secondItem="NOj-Vj-QlF" secondAttribute="bottom" id="bbH-QH-G5Q"/> - <constraint firstItem="NOj-Vj-QlF" firstAttribute="leading" secondItem="EhG-4I-wv7" secondAttribute="trailing" id="h6u-ko-LpA"/> - <constraint firstAttribute="bottom" secondItem="EhG-4I-wv7" secondAttribute="bottom" id="wIZ-VU-t3V"/> - <constraint firstAttribute="height" constant="88" id="wtU-jm-ALX"/> - </constraints> - <userDefinedRuntimeAttributes> - <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> - <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> - <real key="value" value="14"/> - </userDefinedRuntimeAttribute> - </userDefinedRuntimeAttributes> - </view> - <view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Dtu-QM-cC6"> - <rect key="frame" x="0.0" y="0.0" width="380" height="59"/> - <subviews> - <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_arrow_up" translatesAutoresizingMaskIntoConstraints="NO" id="8gt-hY-WEX"> - <rect key="frame" x="33" y="11" width="20" height="37"/> - </imageView> - </subviews> - <color key="backgroundColor" systemColor="systemBackgroundColor"/> - <constraints> - <constraint firstItem="8gt-hY-WEX" firstAttribute="centerY" secondItem="Dtu-QM-cC6" secondAttribute="centerY" id="Mqh-tf-Wo1"/> - <constraint firstItem="8gt-hY-WEX" firstAttribute="leading" secondItem="Dtu-QM-cC6" secondAttribute="leading" constant="33" id="bkS-IH-Ia7"/> - <constraint firstAttribute="height" constant="59" id="gkV-nf-bnN"/> - </constraints> - </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="vDp-Gp-qMt" customClass="TapBtn" customModule="DolphinEnglishLearnStudent" customModuleProvider="target"> - <rect key="frame" x="0.0" y="0.0" width="380" height="88"/> + <rect key="frame" x="0.0" y="0.0" width="604.5" height="96"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="638-4h-RmO"> - <rect key="frame" x="0.0" y="0.0" width="99" height="88"/> + <rect key="frame" x="0.0" y="0.0" width="99" height="96"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="第一年" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="mzm-m2-TUM"> - <rect key="frame" x="0.0" y="50" width="99" height="22"/> + <rect key="frame" x="0.0" y="58" width="99" height="22"/> <constraints> <constraint firstAttribute="height" constant="22" id="0E8-lU-VAm"/> </constraints> @@ -186,15 +110,16 @@ <constraints> <constraint firstAttribute="bottom" secondItem="mzm-m2-TUM" secondAttribute="bottom" constant="16" id="1DJ-Ab-UMy"/> <constraint firstAttribute="trailing" secondItem="mzm-m2-TUM" secondAttribute="trailing" id="4EB-JA-dgg"/> - <constraint firstAttribute="height" constant="88" id="Ez7-4n-UUU"/> <constraint firstItem="G0e-mp-Ewt" firstAttribute="centerX" secondItem="mzm-m2-TUM" secondAttribute="centerX" id="Fep-Ru-CO8"/> <constraint firstAttribute="width" constant="99" id="a46-Aj-ZVI"/> <constraint firstItem="G0e-mp-Ewt" firstAttribute="top" secondItem="638-4h-RmO" secondAttribute="top" constant="16" id="lcU-Ve-EuA"/> <constraint firstItem="mzm-m2-TUM" firstAttribute="leading" secondItem="638-4h-RmO" secondAttribute="leading" id="ysB-ce-xHs"/> </constraints> </view> - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="听" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rYc-7O-AJr"> - <rect key="frame" x="99" y="0.0" width="281" height="88"/> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rYc-7O-AJr"> + <rect key="frame" x="120" y="19.5" width="484.5" height="57.5"/> + <string key="text">听 - 听懂英语声音世界,建立声音认知逻 +听音有物,见物有音。</string> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="24"/> <nil key="textColor"/> <nil key="highlightedColor"/> @@ -202,15 +127,13 @@ </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> - <constraint firstAttribute="bottom" secondItem="rYc-7O-AJr" secondAttribute="bottom" id="1Cy-Uo-TQl"/> <constraint firstItem="638-4h-RmO" firstAttribute="leading" secondItem="vDp-Gp-qMt" secondAttribute="leading" id="906-Em-QM1"/> - <constraint firstAttribute="width" constant="380" id="Fci-Un-Bb0"/> - <constraint firstItem="rYc-7O-AJr" firstAttribute="top" secondItem="vDp-Gp-qMt" secondAttribute="top" id="IuS-gO-xrq"/> <constraint firstAttribute="trailing" secondItem="rYc-7O-AJr" secondAttribute="trailing" id="KQJ-pj-kUy"/> - <constraint firstAttribute="height" constant="88" id="XI2-on-coS"/> + <constraint firstAttribute="height" constant="96" id="XI2-on-coS"/> <constraint firstItem="638-4h-RmO" firstAttribute="top" secondItem="vDp-Gp-qMt" secondAttribute="top" id="ZWW-ad-FCa"/> + <constraint firstItem="rYc-7O-AJr" firstAttribute="centerY" secondItem="vDp-Gp-qMt" secondAttribute="centerY" id="egU-j0-Zyg"/> <constraint firstAttribute="bottom" secondItem="638-4h-RmO" secondAttribute="bottom" id="pMS-Rh-ZiE"/> - <constraint firstItem="rYc-7O-AJr" firstAttribute="leading" secondItem="638-4h-RmO" secondAttribute="trailing" id="zhf-yy-Qje"/> + <constraint firstItem="rYc-7O-AJr" firstAttribute="leading" secondItem="638-4h-RmO" secondAttribute="trailing" constant="21" id="zhf-yy-Qje"/> </constraints> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> @@ -222,25 +145,215 @@ <action selector="listenAction:" destination="-1" eventType="touchUpInside" id="MbU-jm-Qjr"/> </connections> </view> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="A0m-iE-WEq"> + <rect key="frame" x="0.0" y="96" width="604.5" height="92"/> + <subviews> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_arrow_up" translatesAutoresizingMaskIntoConstraints="NO" id="uJm-Us-sBO"> + <rect key="frame" x="33" y="20" width="20" height="37"/> + </imageView> + </subviews> + <constraints> + <constraint firstItem="uJm-Us-sBO" firstAttribute="leading" secondItem="A0m-iE-WEq" secondAttribute="leading" constant="33" id="0xE-kt-Yeh"/> + <constraint firstAttribute="height" constant="92" id="JuD-so-WAc"/> + <constraint firstItem="uJm-Us-sBO" firstAttribute="top" secondItem="A0m-iE-WEq" secondAttribute="top" constant="20" id="dWW-QK-5I4"/> + </constraints> + </view> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="bRK-h8-9be" customClass="TapBtn" customModule="DolphinEnglishLearnStudent" customModuleProvider="target"> + <rect key="frame" x="0.0" y="188" width="604.5" height="96"/> + <subviews> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Aru-TP-eo5"> + <rect key="frame" x="0.0" y="0.0" width="99" height="96"/> + <subviews> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="第二年" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="JUx-1g-3IQ"> + <rect key="frame" x="0.0" y="58" width="99" height="22"/> + <constraints> + <constraint firstAttribute="height" constant="22" id="2Il-ag-42y"/> + </constraints> + <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="16"/> + <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_read" translatesAutoresizingMaskIntoConstraints="NO" id="Bea-xz-ioa"> + <rect key="frame" x="31" y="16" width="37" height="37"/> + </imageView> + </subviews> + <color key="backgroundColor" red="0.65490196078431373" green="0.65490196078431373" blue="0.65490196078431373" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <constraints> + <constraint firstItem="Bea-xz-ioa" firstAttribute="top" secondItem="Aru-TP-eo5" secondAttribute="top" constant="16" id="PKa-E7-X04"/> + <constraint firstAttribute="trailing" secondItem="JUx-1g-3IQ" secondAttribute="trailing" id="SBw-MM-kdp"/> + <constraint firstItem="JUx-1g-3IQ" firstAttribute="leading" secondItem="Aru-TP-eo5" secondAttribute="leading" id="baE-0U-bA9"/> + <constraint firstAttribute="width" constant="99" id="maH-iF-185"/> + <constraint firstAttribute="bottom" secondItem="JUx-1g-3IQ" secondAttribute="bottom" constant="16" id="nWb-EA-fcK"/> + <constraint firstItem="Bea-xz-ioa" firstAttribute="centerX" secondItem="JUx-1g-3IQ" secondAttribute="centerX" id="r33-Se-sFp"/> + </constraints> + </view> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="认读>拼读>阅读 - 建立文字认知逻辑。" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="E6l-m4-aFf"> + <rect key="frame" x="120" y="33.5" width="484.5" height="29"/> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="24"/> + <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.5" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstItem="Aru-TP-eo5" firstAttribute="top" secondItem="bRK-h8-9be" secondAttribute="top" id="2WS-er-WTU"/> + <constraint firstAttribute="bottom" secondItem="Aru-TP-eo5" secondAttribute="bottom" id="8Cu-vW-39p"/> + <constraint firstItem="E6l-m4-aFf" firstAttribute="leading" secondItem="Aru-TP-eo5" secondAttribute="trailing" constant="21" id="OUb-Wa-p5r"/> + <constraint firstItem="Aru-TP-eo5" firstAttribute="leading" secondItem="bRK-h8-9be" secondAttribute="leading" id="Ppx-6L-iUN"/> + <constraint firstItem="E6l-m4-aFf" firstAttribute="centerY" secondItem="bRK-h8-9be" secondAttribute="centerY" id="U2C-h4-Rm0"/> + <constraint firstAttribute="height" constant="96" id="VLD-Q6-juU"/> + <constraint firstAttribute="trailing" secondItem="E6l-m4-aFf" secondAttribute="trailing" id="yEv-S7-2VG"/> + </constraints> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> + <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> + <real key="value" value="14"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + </view> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="IhT-WS-1W6"> + <rect key="frame" x="0.0" y="284" width="604.5" height="92"/> + <subviews> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_arrow_up" translatesAutoresizingMaskIntoConstraints="NO" id="EkN-Kd-dIo"> + <rect key="frame" x="33" y="20" width="20" height="37"/> + </imageView> + </subviews> + <constraints> + <constraint firstItem="EkN-Kd-dIo" firstAttribute="leading" secondItem="IhT-WS-1W6" secondAttribute="leading" constant="33" id="3Sf-ue-EBq"/> + <constraint firstItem="EkN-Kd-dIo" firstAttribute="top" secondItem="IhT-WS-1W6" secondAttribute="top" constant="20" id="VNN-8i-5TT"/> + <constraint firstAttribute="height" constant="92" id="a1S-nM-PTQ"/> + </constraints> + </view> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="RNu-95-cei" customClass="TapBtn" customModule="DolphinEnglishLearnStudent" customModuleProvider="target"> + <rect key="frame" x="0.0" y="376" width="604.5" height="96"/> + <subviews> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="rof-Bc-DBt"> + <rect key="frame" x="0.0" y="0.0" width="99" height="96"/> + <subviews> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="第三年" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="s1C-FB-pdy"> + <rect key="frame" x="0.0" y="58" width="99" height="22"/> + <constraints> + <constraint firstAttribute="height" constant="22" id="LAU-JU-br9"/> + </constraints> + <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="16"/> + <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_read_1" translatesAutoresizingMaskIntoConstraints="NO" id="K2B-Ql-Ffz"> + <rect key="frame" x="30" y="16" width="39" height="39"/> + </imageView> + </subviews> + <color key="backgroundColor" red="0.65490196078431373" green="0.65490196078431373" blue="0.65490196078431373" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <constraints> + <constraint firstAttribute="bottom" secondItem="s1C-FB-pdy" secondAttribute="bottom" constant="16" id="CM9-Nx-GoU"/> + <constraint firstAttribute="trailing" secondItem="s1C-FB-pdy" secondAttribute="trailing" id="HjS-48-xe4"/> + <constraint firstItem="s1C-FB-pdy" firstAttribute="leading" secondItem="rof-Bc-DBt" secondAttribute="leading" id="I6H-BM-MAM"/> + <constraint firstAttribute="width" constant="99" id="n1G-CS-AjA"/> + <constraint firstItem="K2B-Ql-Ffz" firstAttribute="centerX" secondItem="s1C-FB-pdy" secondAttribute="centerX" id="uYv-ek-w4C"/> + <constraint firstItem="K2B-Ql-Ffz" firstAttribute="top" secondItem="rof-Bc-DBt" secondAttribute="top" constant="16" id="w7g-aR-5hG"/> + </constraints> + </view> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="海量阅读 - 建立英语文化认知逻辑。" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Fmd-pO-bSH"> + <rect key="frame" x="120" y="33.5" width="484.5" height="29"/> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="24"/> + <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.5" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstAttribute="bottom" secondItem="rof-Bc-DBt" secondAttribute="bottom" id="COZ-ac-5bK"/> + <constraint firstAttribute="height" constant="96" id="OfW-EV-TmL"/> + <constraint firstItem="rof-Bc-DBt" firstAttribute="top" secondItem="RNu-95-cei" secondAttribute="top" id="Rk0-Vt-x3c"/> + <constraint firstItem="Fmd-pO-bSH" firstAttribute="centerY" secondItem="RNu-95-cei" secondAttribute="centerY" id="bCS-cd-gdb"/> + <constraint firstItem="Fmd-pO-bSH" firstAttribute="leading" secondItem="rof-Bc-DBt" secondAttribute="trailing" constant="21" id="cBU-uf-vCT"/> + <constraint firstAttribute="trailing" secondItem="Fmd-pO-bSH" secondAttribute="trailing" id="ebX-vd-Cs6"/> + <constraint firstItem="rof-Bc-DBt" firstAttribute="leading" secondItem="RNu-95-cei" secondAttribute="leading" id="saL-pO-xgf"/> + </constraints> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> + <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> + <real key="value" value="14"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + </view> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="BDR-5j-kah"> + <rect key="frame" x="0.0" y="472" width="604.5" height="92"/> + <subviews> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_arrow_up" translatesAutoresizingMaskIntoConstraints="NO" id="xve-gO-8dX"> + <rect key="frame" x="33" y="20" width="20" height="37"/> + </imageView> + </subviews> + <constraints> + <constraint firstItem="xve-gO-8dX" firstAttribute="leading" secondItem="BDR-5j-kah" secondAttribute="leading" constant="33" id="CQh-cl-fbj"/> + <constraint firstAttribute="height" constant="92" id="FGb-PG-yjX"/> + <constraint firstItem="xve-gO-8dX" firstAttribute="top" secondItem="BDR-5j-kah" secondAttribute="top" constant="20" id="iZc-Yj-Dkv"/> + </constraints> + </view> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="LGI-6d-ayY" customClass="TapBtn" customModule="DolphinEnglishLearnStudent" customModuleProvider="target"> + <rect key="frame" x="0.0" y="564" width="604.5" height="96"/> + <subviews> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="vQZ-vC-WZM"> + <rect key="frame" x="0.0" y="0.0" width="99" height="96"/> + <subviews> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="第四年" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5ab-W8-1Bp"> + <rect key="frame" x="0.0" y="58" width="99" height="22"/> + <constraints> + <constraint firstAttribute="height" constant="22" id="xff-4c-Obh"/> + </constraints> + <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="16"/> + <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_culture" translatesAutoresizingMaskIntoConstraints="NO" id="CIB-II-EsI"> + <rect key="frame" x="9" y="16" width="81" height="17"/> + </imageView> + </subviews> + <color key="backgroundColor" red="0.65490196078431373" green="0.65490196078431373" blue="0.65490196078431373" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <constraints> + <constraint firstItem="CIB-II-EsI" firstAttribute="centerX" secondItem="5ab-W8-1Bp" secondAttribute="centerX" id="5ln-hC-BQ4"/> + <constraint firstAttribute="trailing" secondItem="5ab-W8-1Bp" secondAttribute="trailing" id="6nf-xv-hQk"/> + <constraint firstItem="CIB-II-EsI" firstAttribute="top" secondItem="vQZ-vC-WZM" secondAttribute="top" constant="16" id="LiY-JU-Kuo"/> + <constraint firstAttribute="bottom" secondItem="5ab-W8-1Bp" secondAttribute="bottom" constant="16" id="dfC-Xy-Nen"/> + <constraint firstItem="5ab-W8-1Bp" firstAttribute="leading" secondItem="vQZ-vC-WZM" secondAttribute="leading" id="l6v-ZM-cnL"/> + <constraint firstAttribute="width" constant="99" id="sga-rD-HzD"/> + </constraints> + </view> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="测试通关 - 升学 游学 留学准备。" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5z7-Xs-obp"> + <rect key="frame" x="120" y="33.5" width="484.5" height="29"/> + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="24"/> + <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.5" colorSpace="custom" customColorSpace="sRGB"/> + <nil key="highlightedColor"/> + </label> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <constraints> + <constraint firstItem="vQZ-vC-WZM" firstAttribute="top" secondItem="LGI-6d-ayY" secondAttribute="top" id="4As-9k-hNC"/> + <constraint firstAttribute="height" constant="96" id="6xp-by-1B1"/> + <constraint firstAttribute="trailing" secondItem="5z7-Xs-obp" secondAttribute="trailing" id="OTj-LN-QKI"/> + <constraint firstItem="vQZ-vC-WZM" firstAttribute="leading" secondItem="LGI-6d-ayY" secondAttribute="leading" id="U8F-XO-oU1"/> + <constraint firstItem="5z7-Xs-obp" firstAttribute="centerY" secondItem="LGI-6d-ayY" secondAttribute="centerY" id="cEr-Ro-eSl"/> + <constraint firstAttribute="bottom" secondItem="vQZ-vC-WZM" secondAttribute="bottom" id="mQG-1v-MPM"/> + <constraint firstItem="5z7-Xs-obp" firstAttribute="leading" secondItem="vQZ-vC-WZM" secondAttribute="trailing" constant="21" id="oUi-z5-S96"/> + </constraints> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> + <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB"> + <real key="value" value="14"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + </view> </subviews> </stackView> - <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="placeH" translatesAutoresizingMaskIntoConstraints="NO" id="dB6-vc-74T"> - <rect key="frame" x="864" y="442" width="254" height="358"/> - <constraints> - <constraint firstAttribute="width" constant="254" id="GPi-Rj-Pet"/> - <constraint firstAttribute="height" constant="358" id="Wfv-ly-SSv"/> - </constraints> - </imageView> </subviews> <viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/> - <color key="backgroundColor" systemColor="systemBackgroundColor"/> + <color key="backgroundColor" red="0.76470588235294112" green="0.74901960784313726" blue="0.70196078431372544" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <constraints> - <constraint firstItem="8a7-s7-2fd" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" constant="175" id="4SC-Gm-a5y"/> - <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="dB6-vc-74T" secondAttribute="trailing" constant="62" id="4h9-Dx-RHg"/> - <constraint firstItem="fnl-2z-Ty3" firstAttribute="bottom" secondItem="dB6-vc-74T" secondAttribute="bottom" id="5rR-7n-uKm"/> + <constraint firstItem="8a7-s7-2fd" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" id="4SC-Gm-a5y"/> <constraint firstAttribute="bottom" secondItem="u25-QY-P0i" secondAttribute="bottom" id="CfI-2x-pVb"/> <constraint firstItem="u25-QY-P0i" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="QEu-6j-zme"/> - <constraint firstItem="8a7-s7-2fd" firstAttribute="leading" secondItem="u25-QY-P0i" secondAttribute="trailing" constant="33" id="lge-cR-TPq"/> + <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="8a7-s7-2fd" secondAttribute="trailing" constant="126" id="ZuT-nV-nAJ"/> + <constraint firstItem="8a7-s7-2fd" firstAttribute="leading" secondItem="u25-QY-P0i" secondAttribute="trailing" constant="138" id="lge-cR-TPq"/> <constraint firstItem="u25-QY-P0i" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="snI-gI-0vp"/> </constraints> <point key="canvasLocation" x="44.745762711864408" y="19.756097560975608"/> @@ -248,10 +361,11 @@ </objects> <resources> <image name="home_arrow_up" width="20" height="37"/> + <image name="home_culture" width="81" height="17"/> <image name="home_listen" width="42" height="28"/> <image name="home_read" width="37" height="37"/> - <image name="logo" width="144" height="136"/> - <image name="placeH" width="178" height="250"/> + <image name="home_read_1" width="39" height="39"/> + <image name="logo_1" width="217" height="114"/> <systemColor name="systemBackgroundColor"> <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </systemColor> diff --git a/DolphinEnglishLearnStudent/Moudle/Home/Listen/TCell/HomeListen_process_TCell.swift b/DolphinEnglishLearnStudent/Moudle/Home/Listen/TCell/HomeListen_process_TCell.swift index 0c478e4..03d6a78 100644 --- a/DolphinEnglishLearnStudent/Moudle/Home/Listen/TCell/HomeListen_process_TCell.swift +++ b/DolphinEnglishLearnStudent/Moudle/Home/Listen/TCell/HomeListen_process_TCell.swift @@ -9,35 +9,35 @@ import JQTools class HomeListen_process_TCell: UITableViewCell { - @IBOutlet weak var label_currentWeek: UILabel! - @IBOutlet weak var label_completeProgress: UILabel! - @IBOutlet weak var label_info: UILabel! - @IBOutlet weak var cons_progress: NSLayoutConstraint! - - var studyScheduleModel:StudyScheduleModel?{ - didSet{ - if let m = studyScheduleModel{ -// label_currentWeek.text = "当前周目:\(studyScheduleModel?.week.jq_cn ?? "")周目" + @IBOutlet weak var label_currentWeek: UILabel! + @IBOutlet weak var label_completeProgress: UILabel! + @IBOutlet weak var label_info: UILabel! + @IBOutlet weak var cons_progress: NSLayoutConstraint! - label_info.attributedText = AttributedStringbuilder.build().add(string: "学习总时长:", withFont: .systemFont(ofSize: 16), withColor: UIColor(hexString: "#2B3648")!) - .add(string: "\(m.totalStudy)小时", withFont: .systemFont(ofSize: 16, weight: .medium), withColor: UIColor(hexString: "#2B3648")!) - .add(string: "|今日学习", withFont: .systemFont(ofSize: 16), withColor: UIColor(hexString: "#2B3648")!) - .add(string: "\(m.todayStudy)小时", withFont: .systemFont(ofSize: 16, weight: .medium), withColor: UIColor(hexString: "#2B3648")!).mutableAttributedString - cons_progress.constant = ((JQ_ScreenW - 234 * 2 - 44) / 100) * Double(m.computeSchedule) - label_completeProgress.text = "已完成:\(m.computeSchedule)%" - } - } - } + var studyScheduleModel:StudyScheduleModel?{ + didSet{ + if let m = studyScheduleModel{ + // label_currentWeek.text = "当前周目:\(studyScheduleModel?.week.jq_cn ?? "")周目" + + label_info.attributedText = AttributedStringbuilder.build().add(string: "学习总时长:", withFont: .systemFont(ofSize: 16), withColor: UIColor(hexString: "#2B3648")!) + .add(string: "\(m.totalStudy)小时", withFont: .systemFont(ofSize: 16, weight: .medium), withColor: UIColor(hexString: "#2B3648")!) + .add(string: "|今日学习", withFont: .systemFont(ofSize: 16), withColor: UIColor(hexString: "#2B3648")!) + .add(string: "\(m.todayStudy)小时", withFont: .systemFont(ofSize: 16, weight: .medium), withColor: UIColor(hexString: "#2B3648")!).mutableAttributedString + cons_progress.constant = ((JQ_ScreenW - 234 * 2 - 44) / 100) * Double(m.computeSchedule) + label_completeProgress.text = "已完成:\(m.computeSchedule)%" + } + } + } override func awakeFromNib() { super.awakeFromNib() - backgroundColor = .clear - selectionStyle = .none + backgroundColor = .clear + selectionStyle = .none - label_info.attributedText = AttributedStringbuilder.build().add(string: "学习总时长:", withFont: .systemFont(ofSize: 16), withColor: UIColor(hexString: "#2B3648")!) - .add(string: "\(0)小时", withFont: .systemFont(ofSize: 16, weight: .medium), withColor: UIColor(hexString: "#2B3648")!) - .add(string: "|今日学习", withFont: .systemFont(ofSize: 16), withColor: UIColor(hexString: "#2B3648")!) - .add(string: "\(0)小时", withFont: .systemFont(ofSize: 16, weight: .medium), withColor: UIColor(hexString: "#2B3648")!).mutableAttributedString + label_info.attributedText = AttributedStringbuilder.build().add(string: "学习总时长:", withFont: .systemFont(ofSize: 16), withColor: UIColor(hexString: "#2B3648")!) + .add(string: "\(0)小时", withFont: .systemFont(ofSize: 16, weight: .medium), withColor: UIColor(hexString: "#2B3648")!) + .add(string: "|今日学习", withFont: .systemFont(ofSize: 16), withColor: UIColor(hexString: "#2B3648")!) + .add(string: "\(0)小时", withFont: .systemFont(ofSize: 16, weight: .medium), withColor: UIColor(hexString: "#2B3648")!).mutableAttributedString } } diff --git a/DolphinEnglishLearnStudent/Moudle/Home/Listen/TCell/HomeListen_process_TCell.xib b/DolphinEnglishLearnStudent/Moudle/Home/Listen/TCell/HomeListen_process_TCell.xib index aa8accf..d5b1cb1 100644 --- a/DolphinEnglishLearnStudent/Moudle/Home/Listen/TCell/HomeListen_process_TCell.xib +++ b/DolphinEnglishLearnStudent/Moudle/Home/Listen/TCell/HomeListen_process_TCell.xib @@ -1,55 +1,46 @@ <?xml version="1.0" encoding="UTF-8"?> -<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23504" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> <device id="ipad10_9rounded" orientation="portrait" layout="fullscreen" appearance="light"/> <dependencies> <deployment identifier="iOS"/> - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22684"/> + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23506"/> <capability name="System colors in document resources" minToolsVersion="11.0"/> <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> </dependencies> <objects> <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/> <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> - <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="_HomeListen_process_TCell" rowHeight="202" id="KGk-i7-Jjw" customClass="HomeListen_process_TCell" customModule="DolphinEnglishLearnStudent" customModuleProvider="target"> - <rect key="frame" x="0.0" y="0.0" width="541" height="202"/> + <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="_HomeListen_process_TCell" rowHeight="115" id="KGk-i7-Jjw" customClass="HomeListen_process_TCell" customModule="DolphinEnglishLearnStudent" customModuleProvider="target"> + <rect key="frame" x="0.0" y="0.0" width="974" height="115"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM"> - <rect key="frame" x="0.0" y="0.0" width="541" height="202"/> + <rect key="frame" x="0.0" y="0.0" width="974" height="115"/> <autoresizingMask key="autoresizingMask"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="RXp-OG-LEf"> - <rect key="frame" x="0.0" y="9.5" width="541" height="183"/> + <rect key="frame" x="0.0" y="9.5" width="974" height="96"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="当前周目:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="0OR-m9-gOV"> - <rect key="frame" x="22" y="17" width="96.5" height="29"/> + <rect key="frame" x="22" y="22" width="99" height="29"/> <constraints> <constraint firstAttribute="height" constant="29" id="RHk-nY-HVy"/> </constraints> - <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="21"/> + <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="23"/> <color key="textColor" red="0.16862745098039217" green="0.21176470588235294" blue="0.28235294117647058" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="已完成:0%" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="tZm-jl-aPX"> - <rect key="frame" x="427.5" y="20.5" width="101.5" height="22"/> + <rect key="frame" x="862" y="25.5" width="100" height="22"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="18"/> <color key="textColor" red="0.96078431372549022" green="0.47450980392156861" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="学习总时长:0小时|今日学习:0小时" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="4vp-cM-Wt2"> - <rect key="frame" x="23" y="58" width="495" height="22"/> - <constraints> - <constraint firstAttribute="height" constant="22" id="Pn7-ug-yZr"/> - </constraints> - <fontDescription key="fontDescription" type="system" pointSize="16"/> - <nil key="textColor"/> - <nil key="highlightedColor"/> - </label> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="5YC-oK-utb"> - <rect key="frame" x="22" y="104" width="0.0" height="6"/> + <rect key="frame" x="22" y="67" width="0.0" height="6"/> <color key="backgroundColor" red="0.25490196078431371" green="0.63529411764705879" blue="0.92156862745098034" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <constraints> + <constraint firstAttribute="width" id="7Ub-3s-w3Q"/> <constraint firstAttribute="height" constant="6" id="Q4v-Ro-Ym2"/> - <constraint firstAttribute="width" id="Zzl-QC-ej8"/> </constraints> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> @@ -58,18 +49,26 @@ </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> </view> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="学习总时长:0小时|今日学习:0小时" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="4vp-cM-Wt2"> + <rect key="frame" x="172" y="25.5" width="278.5" height="22"/> + <constraints> + <constraint firstAttribute="height" constant="22" id="Pn7-ug-yZr"/> + </constraints> + <fontDescription key="fontDescription" type="system" pointSize="16"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> - <constraint firstItem="5YC-oK-utb" firstAttribute="leading" secondItem="RXp-OG-LEf" secondAttribute="leading" constant="22" id="4MR-IW-urq"/> - <constraint firstItem="4vp-cM-Wt2" firstAttribute="top" secondItem="0OR-m9-gOV" secondAttribute="bottom" constant="12" id="4Zn-aZ-6B5"/> <constraint firstItem="tZm-jl-aPX" firstAttribute="centerY" secondItem="0OR-m9-gOV" secondAttribute="centerY" id="5Aq-B8-hHc"/> + <constraint firstItem="5YC-oK-utb" firstAttribute="leading" secondItem="RXp-OG-LEf" secondAttribute="leading" constant="22" id="6g6-Zr-YhH"/> <constraint firstAttribute="trailing" secondItem="tZm-jl-aPX" secondAttribute="trailing" constant="12" id="9TX-lG-lmM"/> - <constraint firstItem="5YC-oK-utb" firstAttribute="top" secondItem="4vp-cM-Wt2" secondAttribute="bottom" constant="24" id="CrR-Tw-f7R"/> - <constraint firstItem="4vp-cM-Wt2" firstAttribute="leading" secondItem="RXp-OG-LEf" secondAttribute="leading" constant="23" id="NVz-na-8L9"/> - <constraint firstItem="0OR-m9-gOV" firstAttribute="top" secondItem="RXp-OG-LEf" secondAttribute="top" constant="17" id="NpO-xF-QHk"/> + <constraint firstItem="4vp-cM-Wt2" firstAttribute="leading" secondItem="0OR-m9-gOV" secondAttribute="trailing" constant="51" id="KPB-tC-fCW"/> + <constraint firstItem="4vp-cM-Wt2" firstAttribute="centerY" secondItem="0OR-m9-gOV" secondAttribute="centerY" id="Ncl-Yv-uTv"/> + <constraint firstItem="0OR-m9-gOV" firstAttribute="top" secondItem="RXp-OG-LEf" secondAttribute="top" constant="22" id="NpO-xF-QHk"/> <constraint firstItem="0OR-m9-gOV" firstAttribute="leading" secondItem="RXp-OG-LEf" secondAttribute="leading" constant="22" id="ZAU-qP-L58"/> - <constraint firstAttribute="trailing" secondItem="4vp-cM-Wt2" secondAttribute="trailing" constant="23" id="zdS-VW-orc"/> + <constraint firstItem="5YC-oK-utb" firstAttribute="top" secondItem="0OR-m9-gOV" secondAttribute="bottom" constant="16" id="wlR-kd-m3e"/> </constraints> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> @@ -87,12 +86,12 @@ </constraints> </tableViewCellContentView> <connections> - <outlet property="cons_progress" destination="Zzl-QC-ej8" id="5nX-hJ-eUu"/> + <outlet property="cons_progress" destination="7Ub-3s-w3Q" id="A0m-l2-WYA"/> <outlet property="label_completeProgress" destination="tZm-jl-aPX" id="Uqr-wy-HOB"/> <outlet property="label_currentWeek" destination="0OR-m9-gOV" id="fZk-hC-CLI"/> <outlet property="label_info" destination="4vp-cM-Wt2" id="mql-4J-5Xf"/> </connections> - <point key="canvasLocation" x="168.65853658536585" y="60"/> + <point key="canvasLocation" x="327.07317073170731" y="37.881355932203391"/> </tableViewCell> </objects> <resources> diff --git a/DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenSubVC.swift b/DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenSubVC.swift index 37d51ef..a54491d 100644 --- a/DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenSubVC.swift +++ b/DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenSubVC.swift @@ -61,6 +61,8 @@ extension HomeListenSubVC:UITableViewDelegate{ func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { + if (page + 1) > (studyScheduleModel?.day ?? 0){return} + if page <= 4 && indexPath.section == 0{return} let day = page + 1 diff --git a/DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenVC.swift b/DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenVC.swift index 8d1bc17..a0a146f 100644 --- a/DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenVC.swift +++ b/DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenVC.swift @@ -11,177 +11,177 @@ class HomeListenVC: BaseVC { - //限制后面的点击:天数(1开始) - private var limitDay = 1 - private var quarter:Int! - private var week:Int! - private var studyScheduleModel:StudyScheduleModel! + //限制后面的点击:天数(1开始) + private var limitDay = 1 + private var quarter:Int! + private var week:Int! + private var studyScheduleModel:StudyScheduleModel! - private lazy var menu:SPPageMenu = { - let menu = SPPageMenu(frame: .zero, trackerStyle: .line) - menu.itemTitleFont = UIFont(name: "Impact", size: 18) ?? .systemFont(ofSize: 18, weight: .medium) - menu.setItems(["Day1","Day2","Day3","Day4","Day5","自主游戏","听故事"], selectedItemIndex: 0) - menu.selectedItemTitleColor = UIColor(hexStr: "#41A2EB") - menu.unSelectedItemTitleColor = UIColor.black.withAlphaComponent(0.71) - menu.trackerWidth = 22 - menu.setTrackerHeight(6, cornerRadius: 3) - menu.trackerFollowingMode = .half - menu.tracker.image = UIImage.jq_image(with: UIColor(hexStr: "#41A2EB"), size: CGSize(width: 1, height: 1), alpha: 1) - menu.permutationWay = .notScrollAdaptContent - menu.dividingLineHeight = 0.001 - return menu - }() + private lazy var menu:SPPageMenu = { + let menu = SPPageMenu(frame: .zero, trackerStyle: .line) + menu.itemTitleFont = UIFont(name: "Impact", size: 18) ?? .systemFont(ofSize: 18, weight: .medium) + menu.setItems(["Day1","Day2","Day3","Day4","Day5","自主游戏","听故事"], selectedItemIndex: 0) + menu.selectedItemTitleColor = UIColor(hexStr: "#41A2EB") + menu.unSelectedItemTitleColor = UIColor.black.withAlphaComponent(0.71) + menu.trackerWidth = 22 + menu.setTrackerHeight(6, cornerRadius: 3) + menu.trackerFollowingMode = .half + menu.tracker.image = UIImage.jq_image(with: UIColor(hexStr: "#41A2EB"), size: CGSize(width: 1, height: 1), alpha: 1) + menu.permutationWay = .notScrollAdaptContent + menu.dividingLineHeight = 0.001 + return menu + }() - private lazy var pageVC:FFPageViewController = { - let vc = FFPageViewController() - vc.scrollview.isScrollEnabled = false - return vc - }() + private lazy var pageVC:FFPageViewController = { + let vc = FFPageViewController() + vc.scrollview.isScrollEnabled = false + return vc + }() - required init(quarter:Int,week:Int,studyScheduleModel:StudyScheduleModel) { - super.init(nibName: nil, bundle: nil) - self.quarter = quarter - self.week = week - self.studyScheduleModel = studyScheduleModel - } - - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - - override func viewDidLoad() { - super.viewDidLoad() + required init(quarter:Int,week:Int,studyScheduleModel:StudyScheduleModel) { + super.init(nibName: nil, bundle: nil) + self.quarter = quarter + self.week = week + self.studyScheduleModel = studyScheduleModel + } - refreshDay() + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } - Services.onlineDuration().subscribe(onNext: { data in - if let time = data.data{ - sceneDelegate?.globalTimeval = time - } - }).disposed(by: disposeBag) - } + override func viewDidLoad() { + super.viewDidLoad() - private func refreshDay(){ - self.limitDay = studyScheduleModel.day + refreshDay() - let total = studyScheduleModel.pair + studyScheduleModel.induction + studyScheduleModel.listen + studyScheduleModel.look + studyScheduleModel.answer + Services.onlineDuration().subscribe(onNext: { data in + if let time = data.data{ + sceneDelegate?.globalTimeval = time + } + }).disposed(by: disposeBag) + } - if self.limitDay == 5 && total == 500 { - self.limitDay = 6 - } + private func refreshDay(){ + self.limitDay = studyScheduleModel.day - for (index,titleL) in (self.menu.subviews.last?.subviews[1].subviews ?? []).filter({$0 is UIButton}).enumerated(){ - if let btn = titleL as? UIButton{ - if index == 6{ //听故事,单独使用 - btn.setTitleColor(.black, for: .normal) - self.menu.setEnabled(true, forItemAt: UInt(index)) - }else{ - btn.setTitleColor(index < (self.limitDay) ? .black:.black.withAlphaComponent(0.33), for: .normal) - self.menu.setEnabled(index < (self.limitDay), forItemAt: UInt(index)) - } - } - } - self.pageVC.reloadData() + let total = studyScheduleModel.pair + studyScheduleModel.induction + studyScheduleModel.listen + studyScheduleModel.look + studyScheduleModel.answer - #if !DEBUG - if limitDay == 6{ - self.pageVC.scroll(toPage: 4, animation: true) - }else{ - self.pageVC.scroll(toPage: self.limitDay - 1, animation: true) - } - #endif - } + if self.limitDay == 5 && total == 500 { + self.limitDay = 6 + } - override func setUI() { - super.setUI() + for (index,titleL) in (self.menu.subviews.last?.subviews[1].subviews ?? []).filter({$0 is UIButton}).enumerated(){ + if let btn = titleL as? UIButton{ + if index == 6{ //听故事,单独使用 + btn.setTitleColor(.black, for: .normal) + self.menu.setEnabled(true, forItemAt: UInt(index)) + }else{ + btn.setTitleColor(index < (self.limitDay) ? .black:.black.withAlphaComponent(0.33), for: .normal) + self.menu.setEnabled(index < (self.limitDay), forItemAt: UInt(index)) + } + } + } + self.pageVC.reloadData() - //解决返回按钮区域过小,点击不灵敏 - title = " " +#if !DEBUG + if limitDay == 6{ + self.pageVC.scroll(toPage: 4, animation: true) + }else{ + self.pageVC.scroll(toPage: self.limitDay - 1, animation: true) + } +#endif + } - let topMenuView = UIView() - topMenuView.backgroundColor = .white - topMenuView.jq_cornerRadius = 8 - view.addSubview(topMenuView) - topMenuView.snp.makeConstraints { make in - make.top.equalTo(self.view.safeAreaLayoutGuide).offset(9) - make.left.equalTo(234) - make.right.equalTo(-234) - make.height.equalTo(59) - } + override func setUI() { + super.setUI() - menu.delegate = self - topMenuView.addSubview(menu) - menu.snp.makeConstraints { make in - make.left.right.equalToSuperview() - make.centerY.equalToSuperview() - make.height.equalTo(32) - } + //解决返回按钮区域过小,点击不灵敏 + title = " " + + let topMenuView = UIView() + topMenuView.backgroundColor = .white + topMenuView.jq_cornerRadius = 8 + view.addSubview(topMenuView) + topMenuView.snp.makeConstraints { make in + make.top.equalTo(self.view.safeAreaLayoutGuide).offset(9) + make.left.equalTo(234) + make.right.equalTo(-234) + make.height.equalTo(59) + } + + menu.delegate = self + topMenuView.addSubview(menu) + menu.snp.makeConstraints { make in + make.left.right.equalToSuperview() + make.centerY.equalToSuperview() + make.height.equalTo(32) + } - pageVC.delegate = self - view.addSubview(pageVC.view) - pageVC.view.snp.makeConstraints { make in - make.top.equalTo(menu.snp.bottom).offset(19) - make.left.equalTo(topMenuView.snp.left) - make.right.equalTo(topMenuView.snp.right) - make.bottom.equalTo(self.view.safeAreaLayoutGuide.snp.bottom) - } + pageVC.delegate = self + view.addSubview(pageVC.view) + pageVC.view.snp.makeConstraints { make in + make.top.equalTo(menu.snp.bottom).offset(19) + make.left.equalTo(topMenuView.snp.left) + make.right.equalTo(topMenuView.snp.right) + make.bottom.equalTo(self.view.safeAreaLayoutGuide.snp.bottom) + } - for (index,titleL) in (self.menu.subviews.last?.subviews[1].subviews ?? []).filter({$0 is UIButton}).enumerated(){ - if index >= (self.limitDay - 1){ - if let btn = titleL as? UIButton{ - btn.setTitleColor(.black.withAlphaComponent(0.33), for: .normal) - self.menu.setEnabled(false, forItemAt: UInt(index)) - } - } - } - } + for (index,titleL) in (self.menu.subviews.last?.subviews[1].subviews ?? []).filter({$0 is UIButton}).enumerated(){ + if index >= (self.limitDay - 1){ + if let btn = titleL as? UIButton{ + btn.setTitleColor(.black.withAlphaComponent(0.33), for: .normal) + self.menu.setEnabled(false, forItemAt: UInt(index)) + } + } + } + } - override func setRx() { - NotificationCenter.default.rx.notification(StudyCompleteNextLession_Noti).take(until: self.rx.deallocated).subscribe(onNext: {[weak self] noti in - guard let weakSelf = self else { return } - if let type = noti.object as? ListenType{ - let homelistenSubVC = weakSelf.pageVC.currentController as! HomeListenSubVC - homelistenSubVC.jumpAt(listenType: type) - } + override func setRx() { + NotificationCenter.default.rx.notification(StudyCompleteNextLession_Noti).take(until: self.rx.deallocated).subscribe(onNext: {[weak self] noti in + guard let weakSelf = self else { return } + if let type = noti.object as? ListenType{ + let homelistenSubVC = weakSelf.pageVC.currentController as! HomeListenSubVC + homelistenSubVC.jumpAt(listenType: type) + } - }).disposed(by: disposeBag) + }).disposed(by: disposeBag) - NotificationCenter.default.rx.notification(Refresh_ListenSchedule_Noti).take(until: self.rx.deallocated).subscribe(onNext: {[weak self] _ in - guard let weakSelf = self else { return } - Services.studySchedule(week: weakSelf.week).subscribe(onNext: {[weak self] data in - guard let weakSelf = self else { return } - weakSelf.studyScheduleModel = data.data + NotificationCenter.default.rx.notification(Refresh_ListenSchedule_Noti).take(until: self.rx.deallocated).subscribe(onNext: {[weak self] _ in + guard let weakSelf = self else { return } + Services.studySchedule(week: weakSelf.week).subscribe(onNext: {[weak self] data in + guard let weakSelf = self else { return } + weakSelf.studyScheduleModel = data.data - for subVC in weakSelf.pageVC.children as! [HomeListenSubVC]{ - subVC.studyScheduleModel = weakSelf.studyScheduleModel - subVC.tableView.reloadData() - } + for subVC in weakSelf.pageVC.children as! [HomeListenSubVC]{ + subVC.studyScheduleModel = weakSelf.studyScheduleModel + subVC.tableView.reloadData() + } - weakSelf.refreshDay() + weakSelf.refreshDay() - }).disposed(by: weakSelf.disposeBag) - }).disposed(by: disposeBag) - } + }).disposed(by: weakSelf.disposeBag) + }).disposed(by: disposeBag) + } } extension HomeListenVC:SPPageMenuDelegate{ - func pageMenu(_ pageMenu: SPPageMenu, itemSelectedAt index: Int) { - pageVC.scroll(toPage: index, animation: true) - } + func pageMenu(_ pageMenu: SPPageMenu, itemSelectedAt index: Int) { + pageVC.scroll(toPage: index, animation: true) + } } extension HomeListenVC:FFPageViewControllerDelegate{ - func totalPagesOfpageViewController(_ pageViewConteoller: FFPageViewController) -> UInt { - return menu.numberOfItems - } + func totalPagesOfpageViewController(_ pageViewConteoller: FFPageViewController) -> UInt { + return menu.numberOfItems + } - func pageViewController(_ pageViewController: FFPageViewController, currentPageChanged currentPage: Int) { - menu.selectedItemIndex = currentPage - } + func pageViewController(_ pageViewController: FFPageViewController, currentPageChanged currentPage: Int) { + menu.selectedItemIndex = currentPage + } - func pageViewController(_ pageViewConteoller: FFPageViewController, controllerForPage page: Int) -> UIViewController { - return HomeListenSubVC(page: page,quarter: quarter,week: week,studyScheduleModel: studyScheduleModel) - } + func pageViewController(_ pageViewConteoller: FFPageViewController, controllerForPage page: Int) -> UIViewController { + return HomeListenSubVC(page: page,quarter: quarter,week: week,studyScheduleModel: studyScheduleModel) + } } diff --git a/DolphinEnglishLearnStudent/Moudle/Home/View/AwardListView.xib b/DolphinEnglishLearnStudent/Moudle/Home/View/AwardListView.xib index 2b068cc..8030b17 100644 --- a/DolphinEnglishLearnStudent/Moudle/Home/View/AwardListView.xib +++ b/DolphinEnglishLearnStudent/Moudle/Home/View/AwardListView.xib @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> -<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23504" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> <device id="ipad10_9rounded" orientation="landscape" layout="fullscreen" appearance="light"/> <dependencies> <deployment identifier="iOS"/> - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22684"/> + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23506"/> <capability name="Safe area layout guides" minToolsVersion="9.0"/> <capability name="System colors in document resources" minToolsVersion="11.0"/> <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> @@ -18,8 +18,8 @@ <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Tck-Uv-W9Z"> <rect key="frame" x="144" y="100" width="892" height="624"/> <subviews> - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="可兑换商品" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="D5s-Ls-BXc"> - <rect key="frame" x="400" y="25" width="92" height="18"/> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="天天快乐学习,月月礼品奖励" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="D5s-Ls-BXc"> + <rect key="frame" x="330" y="25" width="232.5" height="18"/> <constraints> <constraint firstAttribute="height" constant="18" id="Z5F-Lg-och"/> </constraints> @@ -28,7 +28,7 @@ <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="当前积分可兑换商品推荐:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hKD-mg-1cZ"> - <rect key="frame" x="37" y="61" width="188" height="19.5"/> + <rect key="frame" x="37" y="61" width="183" height="19.5"/> <fontDescription key="fontDescription" type="system" pointSize="16"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> @@ -61,7 +61,7 @@ </constraints> </imageView> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="坚持学习可以获得更多积分,快去学习吧!" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="eeD-SQ-zo0"> - <rect key="frame" x="68" y="517" width="339.5" height="21"/> + <rect key="frame" x="68" y="517" width="330.5" height="21"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="18"/> <color key="textColor" red="0.9882352941176471" green="0.27843137254901962" blue="0.27843137254901962" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> @@ -119,7 +119,7 @@ </view> </objects> <resources> - <image name="icon_waring" width="21" height="21"/> + <image name="icon_waring" width="10.5" height="10.5"/> <systemColor name="systemBackgroundColor"> <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </systemColor> -- Gitblit v1.7.1