Commit e101721593e3f63e3ccbf0d2e885c34c89cc2093

Authored by daifengyi
1 parent 0e862bb7

feat:home page UI

HDFwear.xcodeproj/project.pbxproj
... ... @@ -284,6 +284,8 @@
284 284 6CFEEBC42773355700621863 /* SleepReferenceVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CFEEBC32773355700621863 /* SleepReferenceVC.swift */; };
285 285 B212F1FD2A14CE0400781D59 /* LaunchSetting.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B212F1FF2A14CE0400781D59 /* LaunchSetting.storyboard */; };
286 286 B212F2052A14D28E00781D59 /* LaunchMyBodySettingVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = B212F2042A14D28E00781D59 /* LaunchMyBodySettingVC.swift */; };
  287 + B23AA1012A1879D100BB3902 /* SortPageSectionHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = B23AA1002A1879D100BB3902 /* SortPageSectionHeader.m */; };
  288 + B23AA1032A1879E200BB3902 /* SortPageSectionHeader.xib in Resources */ = {isa = PBXBuildFile; fileRef = B23AA1022A1879E200BB3902 /* SortPageSectionHeader.xib */; };
287 289 B2AF58822A14C4BE0080B464 /* LaunchMyInfoSettingVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2AF58812A14C4BE0080B464 /* LaunchMyInfoSettingVC.swift */; };
288 290 /* End PBXBuildFile section */
289 291  
... ... @@ -655,6 +657,9 @@
655 657 B212F2012A14CE0900781D59 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/LaunchSetting.strings"; sourceTree = "<group>"; };
656 658 B212F2032A14CE0A00781D59 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/LaunchSetting.strings; sourceTree = "<group>"; };
657 659 B212F2042A14D28E00781D59 /* LaunchMyBodySettingVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LaunchMyBodySettingVC.swift; sourceTree = "<group>"; };
  660 + B23AA0FF2A1879D100BB3902 /* SortPageSectionHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SortPageSectionHeader.h; sourceTree = "<group>"; };
  661 + B23AA1002A1879D100BB3902 /* SortPageSectionHeader.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SortPageSectionHeader.m; sourceTree = "<group>"; };
  662 + B23AA1022A1879E200BB3902 /* SortPageSectionHeader.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = SortPageSectionHeader.xib; sourceTree = "<group>"; };
658 663 B2AF58812A14C4BE0080B464 /* LaunchMyInfoSettingVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LaunchMyInfoSettingVC.swift; sourceTree = "<group>"; };
659 664 C621CFD20D2BD60CF4F959C3 /* Pods-HDFwear.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HDFwear.release.xcconfig"; path = "Target Support Files/Pods-HDFwear/Pods-HDFwear.release.xcconfig"; sourceTree = "<group>"; };
660 665 E7F3880C37BC5F6DD15C709D /* Pods-HDFwear.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HDFwear.debug.xcconfig"; path = "Target Support Files/Pods-HDFwear/Pods-HDFwear.debug.xcconfig"; sourceTree = "<group>"; };
... ... @@ -1235,6 +1240,9 @@
1235 1240 6C90AD10276B2E9500555FB8 /* MotionRecordCell.swift */,
1236 1241 6C28F531278FC68000E74EA5 /* MotionRecordCell.xib */,
1237 1242 6CCB7FF7276C6C06009EF617 /* RecordHeaderView.swift */,
  1243 + B23AA0FF2A1879D100BB3902 /* SortPageSectionHeader.h */,
  1244 + B23AA1002A1879D100BB3902 /* SortPageSectionHeader.m */,
  1245 + B23AA1022A1879E200BB3902 /* SortPageSectionHeader.xib */,
1238 1246 );
1239 1247 path = Cell;
1240 1248 sourceTree = "<group>";
... ... @@ -1424,6 +1432,7 @@
1424 1432 6CEA284727EB033E006A44AB /* MedalCell.xib in Resources */,
1425 1433 6C28F53E279017B200E74EA5 /* Mine.storyboard in Resources */,
1426 1434 6C2EA18A27CDBAFA0080FCA1 /* MettCell.xib in Resources */,
  1435 + B23AA1032A1879E200BB3902 /* SortPageSectionHeader.xib in Resources */,
1427 1436 6C85FB74278D5CF2007D309A /* StepCircleView.xib in Resources */,
1428 1437 6C28F56127901D6800E74EA5 /* SleepReportCell.xib in Resources */,
1429 1438 6C5A978F27CCA03E00221361 /* PressureCell.xib in Resources */,
... ... @@ -1644,6 +1653,7 @@
1644 1653 6C6F409027438FBE00F9473C /* Config.swift in Sources */,
1645 1654 6CB5416D27E0694C00BAEBD0 /* DialStyleCell.swift in Sources */,
1646 1655 6C6505C02798FB030043DB7A /* LTAdvancedManager.swift in Sources */,
  1656 + B23AA1012A1879D100BB3902 /* SortPageSectionHeader.m in Sources */,
1647 1657 6CFEEBC02773353700621863 /* BOReferenceVC.swift in Sources */,
1648 1658 6CFEEBA42772BAB000621863 /* MBProgressHUD+Extension.swift in Sources */,
1649 1659 6CFEEBAE2772F18400621863 /* SettingCell2.swift in Sources */,
... ...
HDFwear/Assets.xcassets/Home/add_device.imageset/Contents.json 0 → 100644
  1 +{
  2 + "images" : [
  3 + {
  4 + "idiom" : "universal",
  5 + "scale" : "1x"
  6 + },
  7 + {
  8 + "filename" : "add_device@2x.png",
  9 + "idiom" : "universal",
  10 + "scale" : "2x"
  11 + },
  12 + {
  13 + "filename" : "add_device@3x.png",
  14 + "idiom" : "universal",
  15 + "scale" : "3x"
  16 + }
  17 + ],
  18 + "info" : {
  19 + "author" : "xcode",
  20 + "version" : 1
  21 + }
  22 +}
... ...
HDFwear/Assets.xcassets/Home/add_device.imageset/add_device@2x.png 0 → 100644

3.37 KB

HDFwear/Assets.xcassets/Home/add_device.imageset/add_device@3x.png 0 → 100644

2.56 KB

HDFwear/Basic/View/Base.lproj/StepCircleView.xib
1 1 <?xml version="1.0" encoding="UTF-8"?>
2   -<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="19455" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
3 3 <device id="retina6_1" orientation="portrait" appearance="light"/>
4 4 <dependencies>
5 5 <deployment identifier="iOS"/>
6   - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="19454"/>
  6 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21678"/>
7 7 <capability name="Safe area layout guides" minToolsVersion="9.0"/>
8 8 <capability name="System colors in document resources" minToolsVersion="11.0"/>
9 9 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
... ... @@ -22,21 +22,21 @@
22 22 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
23 23 <subviews>
24 24 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dIv-Zc-EPS">
25   - <rect key="frame" x="88" y="77" width="15" height="35"/>
26   - <fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="25"/>
27   - <nil key="textColor"/>
  25 + <rect key="frame" x="89" y="71.5" width="13.5" height="36"/>
  26 + <fontDescription key="fontDescription" name="DINCondensed-Bold" family="DIN Condensed" pointSize="36"/>
  27 + <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
28 28 <nil key="highlightedColor"/>
29 29 </label>
30 30 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="步数" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="z6G-PE-dd7">
31   - <rect key="frame" x="78.5" y="57" width="34" height="24"/>
32   - <fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="17"/>
33   - <nil key="textColor"/>
  31 + <rect key="frame" x="81.5" y="107.5" width="28" height="20"/>
  32 + <fontDescription key="fontDescription" name="PingFangSC-Regular" family="PingFang SC" pointSize="14"/>
  33 + <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
34 34 <nil key="highlightedColor"/>
35 35 </label>
36 36 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="步" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="HDg-AP-KtN">
37   - <rect key="frame" x="90" y="116" width="11" height="16"/>
38   - <fontDescription key="fontDescription" name="PingFangSC-Regular" family="PingFang SC" pointSize="11"/>
39   - <nil key="textColor"/>
  37 + <rect key="frame" x="89.5" y="139.5" width="12" height="17"/>
  38 + <fontDescription key="fontDescription" name="PingFangSC-Regular" family="PingFang SC" pointSize="12"/>
  39 + <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
40 40 <nil key="highlightedColor"/>
41 41 </label>
42 42 </subviews>
... ... @@ -44,9 +44,9 @@
44 44 <color key="backgroundColor" systemColor="systemBackgroundColor"/>
45 45 <constraints>
46 46 <constraint firstItem="dIv-Zc-EPS" firstAttribute="centerX" secondItem="iN0-l3-epB" secondAttribute="centerX" id="10h-vB-hg3"/>
47   - <constraint firstItem="dIv-Zc-EPS" firstAttribute="top" secondItem="z6G-PE-dd7" secondAttribute="bottom" constant="-4" id="Kc9-dt-xYT"/>
48   - <constraint firstItem="dIv-Zc-EPS" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="centerY" id="hBw-VW-kYH"/>
49   - <constraint firstItem="HDg-AP-KtN" firstAttribute="top" secondItem="dIv-Zc-EPS" secondAttribute="bottom" constant="4" id="iH9-gk-VKU"/>
  47 + <constraint firstItem="HDg-AP-KtN" firstAttribute="top" secondItem="z6G-PE-dd7" secondAttribute="bottom" constant="12" id="EVS-1j-JZc"/>
  48 + <constraint firstItem="z6G-PE-dd7" firstAttribute="top" secondItem="dIv-Zc-EPS" secondAttribute="bottom" id="OVu-mv-fzg"/>
  49 + <constraint firstItem="dIv-Zc-EPS" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="centerY" constant="-5" id="hBw-VW-kYH"/>
50 50 <constraint firstItem="HDg-AP-KtN" firstAttribute="centerX" secondItem="iN0-l3-epB" secondAttribute="centerX" id="phu-Np-7ds"/>
51 51 <constraint firstItem="z6G-PE-dd7" firstAttribute="centerX" secondItem="iN0-l3-epB" secondAttribute="centerX" id="zax-Rc-Byh"/>
52 52 </constraints>
... ...
HDFwear/Basic/View/StepCircleView.swift
... ... @@ -43,7 +43,7 @@ class StepCircleView: UIView {
43 43  
44 44 private func setupUI() {
45 45 locLabel1.text = LocString("步数")
46   - locLabel2.text = LocString("")
  46 + locLabel2.text = LocString("")
47 47 // 0.25 透明度的白色背景
48 48 bgLayer.fillColor = nil
49 49 bgLayer.strokeColor = LineColor.cgColor
... ...
HDFwear/Home/Base.lproj/Home.storyboard
... ... @@ -21,173 +21,86 @@
21 21 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="tnJ-Zz-qk9">
22 22 <rect key="frame" x="0.0" y="92" width="414" height="44"/>
23 23 <subviews>
24   - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="YTWatch" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ka1-OE-scU">
25   - <rect key="frame" x="11.5" y="10" width="73.5" height="24"/>
  24 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="健康" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ka1-OE-scU">
  25 + <rect key="frame" x="30" y="10" width="34" height="24"/>
26 26 <fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="17"/>
27 27 <nil key="textColor"/>
28 28 <nil key="highlightedColor"/>
29 29 </label>
30 30 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ucz-Dm-GL8">
31   - <rect key="frame" x="374.5" y="0.0" width="32" height="44"/>
  31 + <rect key="frame" x="354" y="0.0" width="40" height="44"/>
32 32 <constraints>
33   - <constraint firstAttribute="width" constant="32" id="NGr-KT-akl"/>
  33 + <constraint firstAttribute="width" constant="40" id="NGr-KT-akl"/>
34 34 </constraints>
35 35 <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
36   - <state key="normal" image="home_share"/>
  36 + <state key="normal" image="add_device"/>
37 37 <connections>
38   - <action selector="share:" destination="Y6W-OH-hqX" eventType="touchUpInside" id="IRV-dX-kBF"/>
39   - </connections>
40   - </button>
41   - <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="slG-xd-njY">
42   - <rect key="frame" x="339.5" y="0.0" width="32" height="44"/>
43   - <constraints>
44   - <constraint firstAttribute="width" constant="32" id="5y9-TG-gCy"/>
45   - </constraints>
46   - <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
47   - <state key="normal" image="home_sort"/>
48   - <connections>
49   - <action selector="sortPage:" destination="Y6W-OH-hqX" eventType="touchUpInside" id="ZOi-1l-Rr8"/>
  38 + <action selector="bindDevice:" destination="Y6W-OH-hqX" eventType="touchUpInside" id="hFX-QS-yqv"/>
50 39 </connections>
51 40 </button>
52 41 </subviews>
53 42 <constraints>
54   - <constraint firstAttribute="trailing" secondItem="ucz-Dm-GL8" secondAttribute="trailing" constant="7.5" id="6HU-um-fKM"/>
  43 + <constraint firstAttribute="trailing" secondItem="ucz-Dm-GL8" secondAttribute="trailing" constant="20" id="6HU-um-fKM"/>
55 44 <constraint firstItem="ucz-Dm-GL8" firstAttribute="centerY" secondItem="tnJ-Zz-qk9" secondAttribute="centerY" id="8Oj-7X-6rQ"/>
56   - <constraint firstItem="slG-xd-njY" firstAttribute="top" secondItem="tnJ-Zz-qk9" secondAttribute="top" id="LrL-nF-hR2"/>
57   - <constraint firstItem="ucz-Dm-GL8" firstAttribute="leading" secondItem="slG-xd-njY" secondAttribute="trailing" constant="3" id="LwE-eF-DO0"/>
58 45 <constraint firstItem="ka1-OE-scU" firstAttribute="centerY" secondItem="tnJ-Zz-qk9" secondAttribute="centerY" id="X9h-pf-kwr"/>
59 46 <constraint firstAttribute="bottom" secondItem="ucz-Dm-GL8" secondAttribute="bottom" id="YGY-Ci-Vcs"/>
60 47 <constraint firstItem="ucz-Dm-GL8" firstAttribute="top" secondItem="tnJ-Zz-qk9" secondAttribute="top" id="dLs-Uy-s3Y"/>
61 48 <constraint firstAttribute="height" constant="44" id="dLt-KE-TiW"/>
62   - <constraint firstAttribute="bottom" secondItem="slG-xd-njY" secondAttribute="bottom" id="gLm-83-b2f"/>
63   - <constraint firstItem="ka1-OE-scU" firstAttribute="leading" secondItem="tnJ-Zz-qk9" secondAttribute="leading" constant="11.5" id="gXu-3u-Cco"/>
64   - <constraint firstItem="slG-xd-njY" firstAttribute="centerY" secondItem="tnJ-Zz-qk9" secondAttribute="centerY" id="heb-q8-qsK"/>
  49 + <constraint firstItem="ka1-OE-scU" firstAttribute="leading" secondItem="tnJ-Zz-qk9" secondAttribute="leading" constant="30" id="gXu-3u-Cco"/>
65 50 </constraints>
66 51 </view>
67 52 <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="qaN-Ie-4dT">
68 53 <rect key="frame" x="0.0" y="136" width="414" height="726"/>
69 54 <subviews>
70   - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="6vz-7C-LSo">
71   - <rect key="frame" x="12.5" y="5" width="389" height="100"/>
  55 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="JxI-7G-rh7">
  56 + <rect key="frame" x="12.5" y="10" width="389" height="235"/>
72 57 <subviews>
73   - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="今日活动" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="MHe-NS-PUg">
74   - <rect key="frame" x="10" y="6" width="72" height="26"/>
75   - <fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="18"/>
76   - <nil key="textColor"/>
77   - <nil key="highlightedColor"/>
78   - </label>
79   - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2021/11/02 周二" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bgO-wd-gBF">
80   - <rect key="frame" x="9.5" y="35" width="126.5" height="23"/>
81   - <fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="16"/>
82   - <nil key="textColor"/>
83   - <nil key="highlightedColor"/>
84   - </label>
85   - <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="weather_sunny" translatesAutoresizingMaskIntoConstraints="NO" id="uV2-DS-meY">
86   - <rect key="frame" x="10" y="62.5" width="22" height="22"/>
  58 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="KrX-5v-m3a" customClass="StepCircleView" customModule="HDFwear" customModuleProvider="target">
  59 + <rect key="frame" x="125.5" y="24" width="138" height="138"/>
  60 + <color key="backgroundColor" systemColor="systemBackgroundColor"/>
87 61 <constraints>
88   - <constraint firstAttribute="width" constant="22" id="8ey-VD-Xtg"/>
89   - <constraint firstAttribute="height" constant="22" id="spY-Xg-6zC"/>
  62 + <constraint firstAttribute="height" constant="138" id="VvL-J8-ZT8"/>
  63 + <constraint firstAttribute="width" constant="138" id="yEc-jR-aJV"/>
90 64 </constraints>
91   - </imageView>
92   - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="晴 15℃-25℃" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="MbG-yP-MNC">
93   - <rect key="frame" x="45" y="63.5" width="222" height="20"/>
94   - <fontDescription key="fontDescription" name="PingFangSC-Regular" family="PingFang SC" pointSize="14"/>
95   - <nil key="textColor"/>
  65 + </view>
  66 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ge6-Yb-1pg">
  67 + <rect key="frame" x="86.5" y="186" width="12.5" height="16"/>
  68 + <fontDescription key="fontDescription" name="DINCondensed-Bold" family="DIN Condensed" pointSize="16"/>
  69 + <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
96 70 <nil key="highlightedColor"/>
97 71 </label>
98   - <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="9W3-SC-LQA">
99   - <rect key="frame" x="305" y="6.5" width="66" height="66"/>
100   - <constraints>
101   - <constraint firstAttribute="width" constant="66" id="5Ek-c2-Y8z"/>
102   - <constraint firstAttribute="height" constant="66" id="Djf-dM-SJE"/>
103   - </constraints>
104   - <fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="16"/>
105   - <inset key="titleEdgeInsets" minX="-142" minY="0.0" maxX="0.0" maxY="-38"/>
106   - <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
107   - <state key="normal" image="bind_device">
108   - <color key="titleColor" systemColor="labelColor"/>
109   - </state>
110   - <connections>
111   - <action selector="bindDevice:" destination="Y6W-OH-hqX" eventType="touchUpInside" id="oM9-rg-r7B"/>
112   - </connections>
113   - </button>
114   - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" usesAttributedText="YES" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Hm9-Mf-ECW">
115   - <rect key="frame" x="287" y="62.5" width="102" height="40"/>
116   - <attributedString key="attributedText">
117   - <fragment content="添加设备添加设备添加设备添加设备">
118   - <attributes>
119   - <font key="NSFont" size="16" name="PingFangSC-Medium"/>
120   - <paragraphStyle key="NSParagraphStyle" alignment="center" lineBreakMode="wordWrapping" baseWritingDirection="natural" maximumLineHeight="20" tighteningFactorForTruncation="0.0"/>
121   - </attributes>
122   - </fragment>
123   - </attributedString>
  72 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="k3n-g8-JNR">
  73 + <rect key="frame" x="188.5" y="186" width="12.5" height="16"/>
  74 + <fontDescription key="fontDescription" name="DINCondensed-Bold" family="DIN Condensed" pointSize="16"/>
  75 + <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
124 76 <nil key="highlightedColor"/>
125 77 </label>
126   - </subviews>
127   - <color key="backgroundColor" systemColor="systemBackgroundColor"/>
128   - <constraints>
129   - <constraint firstItem="MbG-yP-MNC" firstAttribute="leading" secondItem="uV2-DS-meY" secondAttribute="trailing" constant="13" id="0P2-8q-8RL"/>
130   - <constraint firstItem="uV2-DS-meY" firstAttribute="leading" secondItem="6vz-7C-LSo" secondAttribute="leading" constant="10" id="6FN-Ub-gMc"/>
131   - <constraint firstItem="MHe-NS-PUg" firstAttribute="leading" secondItem="6vz-7C-LSo" secondAttribute="leading" constant="10" id="Iy8-2N-dVI"/>
132   - <constraint firstItem="Hm9-Mf-ECW" firstAttribute="leading" secondItem="MbG-yP-MNC" secondAttribute="trailing" constant="20" id="MzO-cE-yeo"/>
133   - <constraint firstAttribute="bottom" secondItem="uV2-DS-meY" secondAttribute="bottom" constant="15.5" id="O7o-kG-fce"/>
134   - <constraint firstItem="MbG-yP-MNC" firstAttribute="centerY" secondItem="uV2-DS-meY" secondAttribute="centerY" id="QAb-xt-Bb6"/>
135   - <constraint firstItem="Hm9-Mf-ECW" firstAttribute="top" secondItem="9W3-SC-LQA" secondAttribute="bottom" constant="-10" id="QZ0-G1-0rZ"/>
136   - <constraint firstAttribute="trailing" secondItem="Hm9-Mf-ECW" secondAttribute="trailing" id="aeP-Vw-1Yt"/>
137   - <constraint firstAttribute="height" constant="100" id="g5X-VF-gPL"/>
138   - <constraint firstItem="MHe-NS-PUg" firstAttribute="top" secondItem="6vz-7C-LSo" secondAttribute="top" constant="6" id="h8J-yP-80X"/>
139   - <constraint firstItem="Hm9-Mf-ECW" firstAttribute="centerX" secondItem="9W3-SC-LQA" secondAttribute="centerX" id="hZO-5d-2Ak"/>
140   - <constraint firstAttribute="trailing" secondItem="9W3-SC-LQA" secondAttribute="trailing" constant="18" id="iul-WW-f5Q"/>
141   - <constraint firstItem="bgO-wd-gBF" firstAttribute="top" secondItem="MHe-NS-PUg" secondAttribute="bottom" constant="3" id="m5w-OJ-CNw"/>
142   - <constraint firstItem="bgO-wd-gBF" firstAttribute="leading" secondItem="6vz-7C-LSo" secondAttribute="leading" constant="9.5" id="xv2-gt-vkT"/>
143   - <constraint firstItem="9W3-SC-LQA" firstAttribute="top" secondItem="6vz-7C-LSo" secondAttribute="top" constant="6.5" id="zQ7-jg-aUi"/>
144   - </constraints>
145   - <userDefinedRuntimeAttributes>
146   - <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
147   - <integer key="value" value="10"/>
148   - </userDefinedRuntimeAttribute>
149   - </userDefinedRuntimeAttributes>
150   - </view>
151   - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="JxI-7G-rh7">
152   - <rect key="frame" x="12.5" y="115" width="389" height="180"/>
153   - <subviews>
154   - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="距离" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Xy6-5b-iz0">
155   - <rect key="frame" x="352" y="158" width="22" height="15"/>
156   - <fontDescription key="fontDescription" name="PingFangSC-Light" family="PingFang SC" pointSize="11"/>
157   - <nil key="textColor"/>
  78 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Xy6-5b-iz0">
  79 + <rect key="frame" x="290.5" y="186" width="12.5" height="16"/>
  80 + <fontDescription key="fontDescription" name="DINCondensed-Bold" family="DIN Condensed" pointSize="16"/>
  81 + <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
158 82 <nil key="highlightedColor"/>
159 83 </label>
160   - <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_steps" translatesAutoresizingMaskIntoConstraints="NO" id="hji-Jx-HCM">
161   - <rect key="frame" x="10" y="10" width="22" height="22"/>
162   - </imageView>
163   - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2021/11/02" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6KN-7M-XAR">
164   - <rect key="frame" x="315.5" y="13" width="57.5" height="16"/>
165   - <fontDescription key="fontDescription" name="PingFangSC-Light" family="PingFang SC" pointSize="11"/>
166   - <nil key="textColor"/>
  84 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="公里" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6LB-db-OYm">
  85 + <rect key="frame" x="80.5" y="204" width="24" height="17"/>
  86 + <fontDescription key="fontDescription" name="PingFangSC-Regular" family="PingFang SC" pointSize="12"/>
  87 + <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
167 88 <nil key="highlightedColor"/>
168 89 </label>
169   - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="KrX-5v-m3a" customClass="StepCircleView" customModule="HDFwear" customModuleProvider="target">
170   - <rect key="frame" x="134.5" y="30" width="120" height="120"/>
171   - <color key="backgroundColor" systemColor="systemBackgroundColor"/>
172   - <constraints>
173   - <constraint firstAttribute="height" constant="120" id="VvL-J8-ZT8"/>
174   - <constraint firstAttribute="width" constant="120" id="yEc-jR-aJV"/>
175   - </constraints>
176   - </view>
177   - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="目标" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ge6-Yb-1pg">
178   - <rect key="frame" x="15" y="157.5" width="22" height="16"/>
179   - <fontDescription key="fontDescription" name="PingFangSC-Light" family="PingFang SC" pointSize="11"/>
180   - <nil key="textColor"/>
  90 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="活跃时长" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bxV-IE-yL9">
  91 + <rect key="frame" x="170.5" y="204" width="48" height="17"/>
  92 + <fontDescription key="fontDescription" name="PingFangSC-Regular" family="PingFang SC" pointSize="12"/>
  93 + <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
181 94 <nil key="highlightedColor"/>
182 95 </label>
183   - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="热量" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="k3n-g8-JNR">
184   - <rect key="frame" x="183.5" y="157.5" width="22" height="16"/>
185   - <fontDescription key="fontDescription" name="PingFangSC-Light" family="PingFang SC" pointSize="11"/>
186   - <nil key="textColor"/>
  96 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="大卡" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="iNe-AH-pDx">
  97 + <rect key="frame" x="284.5" y="204" width="24" height="17"/>
  98 + <fontDescription key="fontDescription" name="PingFangSC-Regular" family="PingFang SC" pointSize="12"/>
  99 + <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
187 100 <nil key="highlightedColor"/>
188 101 </label>
189 102 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="v93-cK-q1o">
190   - <rect key="frame" x="0.0" y="0.0" width="389" height="180"/>
  103 + <rect key="frame" x="0.0" y="0.0" width="389" height="235"/>
191 104 <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
192 105 <connections>
193 106 <action selector="clickStepView:" destination="Y6W-OH-hqX" eventType="touchUpInside" id="gSE-1i-YWN"/>
... ... @@ -196,23 +109,25 @@
196 109 </subviews>
197 110 <color key="backgroundColor" systemColor="systemBackgroundColor"/>
198 111 <constraints>
199   - <constraint firstAttribute="bottom" secondItem="Xy6-5b-iz0" secondAttribute="bottom" constant="7" id="2yr-dn-g76"/>
  112 + <constraint firstItem="6LB-db-OYm" firstAttribute="centerY" secondItem="iNe-AH-pDx" secondAttribute="centerY" id="1HM-PC-VPW"/>
200 113 <constraint firstAttribute="bottom" secondItem="v93-cK-q1o" secondAttribute="bottom" id="8op-EM-3uO"/>
201 114 <constraint firstItem="v93-cK-q1o" firstAttribute="top" secondItem="JxI-7G-rh7" secondAttribute="top" id="AMk-E6-8vb"/>
202   - <constraint firstItem="6KN-7M-XAR" firstAttribute="centerY" secondItem="hji-Jx-HCM" secondAttribute="centerY" id="B5o-1d-dGm"/>
203   - <constraint firstItem="Ge6-Yb-1pg" firstAttribute="leading" secondItem="JxI-7G-rh7" secondAttribute="leading" constant="15" id="K7w-q0-Zgq"/>
  115 + <constraint firstItem="Xy6-5b-iz0" firstAttribute="centerX" secondItem="iNe-AH-pDx" secondAttribute="centerX" id="BkK-ae-eXj"/>
  116 + <constraint firstItem="bxV-IE-yL9" firstAttribute="centerX" secondItem="k3n-g8-JNR" secondAttribute="centerX" id="GDS-LZ-I5n"/>
  117 + <constraint firstItem="bxV-IE-yL9" firstAttribute="centerY" secondItem="iNe-AH-pDx" secondAttribute="centerY" id="Go3-Vf-GgQ"/>
  118 + <constraint firstItem="bxV-IE-yL9" firstAttribute="leading" secondItem="6LB-db-OYm" secondAttribute="trailing" constant="66" id="JZA-sl-eHu"/>
204 119 <constraint firstItem="KrX-5v-m3a" firstAttribute="centerX" secondItem="JxI-7G-rh7" secondAttribute="centerX" id="P5Z-AN-5aw"/>
  120 + <constraint firstItem="bxV-IE-yL9" firstAttribute="top" secondItem="k3n-g8-JNR" secondAttribute="bottom" constant="2" id="QUg-Pn-ADc"/>
205 121 <constraint firstAttribute="trailing" secondItem="v93-cK-q1o" secondAttribute="trailing" id="UgC-k7-TN8"/>
206   - <constraint firstItem="hji-Jx-HCM" firstAttribute="leading" secondItem="JxI-7G-rh7" secondAttribute="leading" constant="10" id="ajz-LS-KIb"/>
207   - <constraint firstItem="hji-Jx-HCM" firstAttribute="top" secondItem="JxI-7G-rh7" secondAttribute="top" constant="10" id="fnH-Ru-f4V"/>
208   - <constraint firstAttribute="trailing" secondItem="6KN-7M-XAR" secondAttribute="trailing" constant="16" id="kAu-Oz-ksj"/>
209   - <constraint firstAttribute="height" constant="180" id="kpL-Ih-kce"/>
  122 + <constraint firstItem="6LB-db-OYm" firstAttribute="centerX" secondItem="Ge6-Yb-1pg" secondAttribute="centerX" id="YeR-18-L5Y"/>
  123 + <constraint firstItem="iNe-AH-pDx" firstAttribute="leading" secondItem="bxV-IE-yL9" secondAttribute="trailing" constant="66" id="cZW-sP-6b5"/>
  124 + <constraint firstAttribute="bottom" secondItem="bxV-IE-yL9" secondAttribute="bottom" constant="14" id="dIY-wK-hHF"/>
  125 + <constraint firstItem="KrX-5v-m3a" firstAttribute="top" secondItem="JxI-7G-rh7" secondAttribute="top" constant="24" id="jWx-fM-K08"/>
  126 + <constraint firstAttribute="height" constant="235" id="kpL-Ih-kce"/>
210 127 <constraint firstItem="Xy6-5b-iz0" firstAttribute="centerY" secondItem="Ge6-Yb-1pg" secondAttribute="centerY" id="lu8-qX-SVN"/>
  128 + <constraint firstItem="bxV-IE-yL9" firstAttribute="centerX" secondItem="JxI-7G-rh7" secondAttribute="centerX" id="p2G-uS-7zh"/>
211 129 <constraint firstItem="k3n-g8-JNR" firstAttribute="centerY" secondItem="Ge6-Yb-1pg" secondAttribute="centerY" id="pCA-5n-vFd"/>
212   - <constraint firstAttribute="trailing" secondItem="Xy6-5b-iz0" secondAttribute="trailing" constant="15" id="rOQ-7U-iCq"/>
213 130 <constraint firstItem="v93-cK-q1o" firstAttribute="leading" secondItem="JxI-7G-rh7" secondAttribute="leading" id="vXd-Cc-Fee"/>
214   - <constraint firstItem="k3n-g8-JNR" firstAttribute="centerX" secondItem="JxI-7G-rh7" secondAttribute="centerX" id="wRd-4d-cgm"/>
215   - <constraint firstItem="KrX-5v-m3a" firstAttribute="centerY" secondItem="JxI-7G-rh7" secondAttribute="centerY" id="xco-fP-r9T"/>
216 131 </constraints>
217 132 <userDefinedRuntimeAttributes>
218 133 <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
... ... @@ -221,7 +136,7 @@
221 136 </userDefinedRuntimeAttributes>
222 137 </view>
223 138 <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="NQG-D5-heh">
224   - <rect key="frame" x="0.0" y="295" width="414" height="815"/>
  139 + <rect key="frame" x="0.0" y="245" width="414" height="815"/>
225 140 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
226 141 <constraints>
227 142 <constraint firstAttribute="height" constant="815" id="B2x-CH-bLi"/>
... ... @@ -238,20 +153,40 @@
238 153 <outlet property="delegate" destination="Y6W-OH-hqX" id="gk5-8b-nSM"/>
239 154 </connections>
240 155 </collectionView>
  156 + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="xZf-Ya-1gF">
  157 + <rect key="frame" x="16" y="1060" width="382" height="46"/>
  158 + <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
  159 + <constraints>
  160 + <constraint firstAttribute="height" constant="46" id="i7s-Sg-hju"/>
  161 + </constraints>
  162 + <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/>
  163 + <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
  164 + <state key="normal" title="编辑卡片">
  165 + <color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
  166 + </state>
  167 + <userDefinedRuntimeAttributes>
  168 + <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
  169 + <integer key="value" value="23"/>
  170 + </userDefinedRuntimeAttribute>
  171 + <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
  172 + </userDefinedRuntimeAttributes>
  173 + <connections>
  174 + <action selector="sortPage:" destination="Y6W-OH-hqX" eventType="touchUpInside" id="pIT-Am-0RZ"/>
  175 + </connections>
  176 + </button>
241 177 </subviews>
242 178 <color key="backgroundColor" red="0.94901960784313721" green="0.94901960784313721" blue="0.94901960784313721" alpha="1" colorSpace="calibratedRGB"/>
243 179 <constraints>
244   - <constraint firstAttribute="bottom" secondItem="NQG-D5-heh" secondAttribute="bottom" id="Egg-xe-z0J"/>
245   - <constraint firstItem="6vz-7C-LSo" firstAttribute="centerX" secondItem="qaN-Ie-4dT" secondAttribute="centerX" id="IbA-Hz-7Kg"/>
246   - <constraint firstItem="6vz-7C-LSo" firstAttribute="leading" secondItem="qaN-Ie-4dT" secondAttribute="leading" constant="12.5" id="JIi-eL-9EH"/>
247   - <constraint firstItem="6vz-7C-LSo" firstAttribute="top" secondItem="qaN-Ie-4dT" secondAttribute="top" constant="5" id="L0Z-dj-zzX"/>
248   - <constraint firstItem="JxI-7G-rh7" firstAttribute="leading" secondItem="6vz-7C-LSo" secondAttribute="leading" id="PCD-Yf-Hfz"/>
249   - <constraint firstAttribute="trailing" secondItem="6vz-7C-LSo" secondAttribute="trailing" constant="12.5" id="QsY-uM-KBP"/>
250   - <constraint firstItem="JxI-7G-rh7" firstAttribute="top" secondItem="6vz-7C-LSo" secondAttribute="bottom" constant="10" id="Ret-2I-AoX"/>
  180 + <constraint firstItem="xZf-Ya-1gF" firstAttribute="top" secondItem="NQG-D5-heh" secondAttribute="bottom" id="1vw-2u-06t"/>
  181 + <constraint firstAttribute="trailing" secondItem="JxI-7G-rh7" secondAttribute="trailing" constant="12.5" id="7ci-xC-hk4"/>
  182 + <constraint firstItem="JxI-7G-rh7" firstAttribute="leading" secondItem="qaN-Ie-4dT" secondAttribute="leading" constant="12.5" id="Bkp-3r-gd1"/>
  183 + <constraint firstAttribute="bottom" secondItem="xZf-Ya-1gF" secondAttribute="bottom" constant="16" id="LYD-ke-Qa2"/>
  184 + <constraint firstItem="JxI-7G-rh7" firstAttribute="top" secondItem="qaN-Ie-4dT" secondAttribute="top" constant="10" id="VKE-bY-C6z"/>
251 185 <constraint firstAttribute="trailing" secondItem="NQG-D5-heh" secondAttribute="trailing" id="Wmx-bJ-xK6"/>
252 186 <constraint firstItem="NQG-D5-heh" firstAttribute="leading" secondItem="qaN-Ie-4dT" secondAttribute="leading" id="aLH-eZ-eQM"/>
  187 + <constraint firstAttribute="trailing" secondItem="xZf-Ya-1gF" secondAttribute="trailing" constant="16" id="aa9-VW-K1H"/>
253 188 <constraint firstItem="NQG-D5-heh" firstAttribute="top" secondItem="JxI-7G-rh7" secondAttribute="bottom" id="olr-Jc-6QC"/>
254   - <constraint firstItem="JxI-7G-rh7" firstAttribute="trailing" secondItem="6vz-7C-LSo" secondAttribute="trailing" id="yUp-pm-c8r"/>
  189 + <constraint firstItem="xZf-Ya-1gF" firstAttribute="leading" secondItem="qaN-Ie-4dT" secondAttribute="leading" constant="16" id="q0g-Bu-faO"/>
255 190 </constraints>
256 191 </scrollView>
257 192 </subviews>
... ... @@ -262,6 +197,7 @@
262 197 <constraint firstItem="qaN-Ie-4dT" firstAttribute="top" secondItem="tnJ-Zz-qk9" secondAttribute="bottom" id="C4m-G5-FHH"/>
263 198 <constraint firstItem="qaN-Ie-4dT" firstAttribute="leading" secondItem="vDu-zF-Fre" secondAttribute="leading" id="gR8-6f-wWM"/>
264 199 <constraint firstItem="vDu-zF-Fre" firstAttribute="bottom" secondItem="qaN-Ie-4dT" secondAttribute="bottom" id="s6M-Gj-vyS"/>
  200 + <constraint firstItem="NQG-D5-heh" firstAttribute="width" secondItem="5EZ-qb-Rvc" secondAttribute="width" id="tDJ-CV-ruW"/>
265 201 <constraint firstItem="tnJ-Zz-qk9" firstAttribute="trailing" secondItem="vDu-zF-Fre" secondAttribute="trailing" id="vDk-p9-1AB"/>
266 202 <constraint firstItem="vDu-zF-Fre" firstAttribute="trailing" secondItem="qaN-Ie-4dT" secondAttribute="trailing" id="vf4-1T-SNS"/>
267 203 <constraint firstItem="tnJ-Zz-qk9" firstAttribute="top" secondItem="vDu-zF-Fre" secondAttribute="top" id="zTs-fc-1iV"/>
... ... @@ -269,20 +205,16 @@
269 205 </view>
270 206 <navigationItem key="navigationItem" id="yHh-AN-TKF"/>
271 207 <connections>
272   - <outlet property="bindButton" destination="9W3-SC-LQA" id="WbP-zi-RaC"/>
273   - <outlet property="bindLabel" destination="Hm9-Mf-ECW" id="m7V-SQ-0j0"/>
  208 + <outlet property="bindButton" destination="ucz-Dm-GL8" id="wiP-SN-SW8"/>
274 209 <outlet property="collectViewHeight" destination="B2x-CH-bLi" id="No2-qE-q9T"/>
275 210 <outlet property="collectionView" destination="NQG-D5-heh" id="qVJ-Ss-KTj"/>
276 211 <outlet property="scrollView" destination="qaN-Ie-4dT" id="A1Q-x7-Jor"/>
277   - <outlet property="stepDateLabel" destination="6KN-7M-XAR" id="gqj-zf-J7Z"/>
278 212 <outlet property="stepProgressView" destination="KrX-5v-m3a" id="YsZ-6q-uMg"/>
279   - <outlet property="stepsCalorieLabel" destination="k3n-g8-JNR" id="8a4-Ac-aaF"/>
280   - <outlet property="stepsDistanceLabel" destination="Xy6-5b-iz0" id="JzN-JE-dsc"/>
281   - <outlet property="stepsGoalLabel" destination="Ge6-Yb-1pg" id="cy1-Jb-awg"/>
  213 + <outlet property="stepsCalorieLabel" destination="Xy6-5b-iz0" id="X6R-MT-NpQ"/>
  214 + <outlet property="stepsDistanceLabel" destination="Ge6-Yb-1pg" id="dcD-uh-o0y"/>
  215 + <outlet property="stepsTimeLabel" destination="k3n-g8-JNR" id="QSk-Ib-43S"/>
  216 + <outlet property="titleLabel" destination="ka1-OE-scU" id="M9h-6O-Dsb"/>
282 217 <outlet property="topView" destination="tnJ-Zz-qk9" id="37K-rY-YtU"/>
283   - <outlet property="weatherDateLabel" destination="bgO-wd-gBF" id="9U7-L9-zqP"/>
284   - <outlet property="weatherImageView" destination="uV2-DS-meY" id="GTV-om-dtm"/>
285   - <outlet property="weatherLabel" destination="MbG-yP-MNC" id="zCZ-v1-a1Q"/>
286 218 </connections>
287 219 </viewController>
288 220 <placeholder placeholderIdentifier="IBFirstResponder" id="Ief-a0-LHa" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
... ... @@ -297,9 +229,9 @@
297 229 <rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
298 230 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
299 231 <subviews>
300   - <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" style="grouped" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="5" sectionFooterHeight="30" translatesAutoresizingMaskIntoConstraints="NO" id="6Z7-mM-OZ3">
  232 + <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" style="grouped" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="18" sectionFooterHeight="18" translatesAutoresizingMaskIntoConstraints="NO" id="6Z7-mM-OZ3">
301 233 <rect key="frame" x="0.0" y="48" width="414" height="814"/>
302   - <color key="backgroundColor" red="0.94901960784313721" green="0.94901960784313721" blue="0.94901960784313721" alpha="1" colorSpace="calibratedRGB"/>
  234 + <color key="backgroundColor" systemColor="systemBackgroundColor"/>
303 235 <connections>
304 236 <outlet property="dataSource" destination="LZY-5e-F4f" id="zjW-kr-4Fc"/>
305 237 <outlet property="delegate" destination="LZY-5e-F4f" id="Yfg-fc-rJ3"/>
... ... @@ -5158,18 +5090,15 @@
5158 5090 </scene>
5159 5091 </scenes>
5160 5092 <resources>
  5093 + <image name="add_device" width="28" height="28"/>
5161 5094 <image name="analysis_bp" width="331.5" height="73.5"/>
5162 5095 <image name="analysis_hr" width="331.5" height="73.5"/>
5163 5096 <image name="analysis_sleep" width="329" height="73.5"/>
5164 5097 <image name="analysis_step" width="345.5" height="74"/>
5165   - <image name="bind_device" width="42" height="42"/>
5166 5098 <image name="cell_go" width="13" height="13"/>
5167 5099 <image name="date_left" width="13" height="13"/>
5168 5100 <image name="date_right" width="13" height="13"/>
5169 5101 <image name="detail_btn" width="22.5" height="22.5"/>
5170   - <image name="home_share" width="22" height="22"/>
5171   - <image name="home_sort" width="22" height="22"/>
5172   - <image name="home_steps" width="22" height="22"/>
5173 5102 <image name="menstrual_cycle" width="16" height="16"/>
5174 5103 <image name="menstrual_day" width="16" height="16"/>
5175 5104 <image name="menstrual_days" width="16" height="16"/>
... ... @@ -5177,7 +5106,7 @@
5177 5106 <image name="menstrual_love" width="16" height="16"/>
5178 5107 <image name="menstrual_switch_false" width="80" height="32"/>
5179 5108 <image name="menstrual_temperature" width="16" height="16"/>
5180   - <image name="nav_back" width="18" height="18"/>
  5109 + <image name="nav_back" width="24.5" height="9"/>
5181 5110 <image name="nav_bo" width="375" height="114"/>
5182 5111 <image name="nav_bp" width="375" height="114"/>
5183 5112 <image name="nav_hr" width="375" height="114"/>
... ... @@ -5190,11 +5119,7 @@
5190 5119 <image name="reference_distance" width="18" height="18"/>
5191 5120 <image name="reference_step" width="18" height="18"/>
5192 5121 <image name="share_btn" width="22" height="22"/>
5193   - <image name="weather_sunny" width="22" height="22"/>
5194 5122 <image name="women_health_bg" width="375" height="260"/>
5195   - <systemColor name="labelColor">
5196   - <color red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
5197   - </systemColor>
5198 5123 <systemColor name="systemBackgroundColor">
5199 5124 <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
5200 5125 </systemColor>
... ...
HDFwear/Home/Cell/Base.lproj/BloodOxygenCell.xib
1 1 <?xml version="1.0" encoding="UTF-8"?>
2   -<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="19455" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
3 3 <device id="retina6_1" orientation="portrait" appearance="light"/>
4 4 <dependencies>
5 5 <deployment identifier="iOS"/>
6   - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="19454"/>
  6 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21678"/>
7 7 <capability name="Safe area layout guides" minToolsVersion="9.0"/>
8 8 <capability name="System colors in document resources" minToolsVersion="11.0"/>
9 9 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
... ... @@ -38,31 +38,28 @@
38 38 <nil key="highlightedColor"/>
39 39 </label>
40 40 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="98" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="tmb-aT-pnd">
41   - <rect key="frame" x="10" y="42.5" width="30" height="35"/>
  41 + <rect key="frame" x="10" y="42" width="30" height="35"/>
42 42 <fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="25"/>
43 43 <nil key="textColor"/>
44 44 <nil key="highlightedColor"/>
45 45 </label>
46   - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="%" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ZKq-6e-8jy">
47   - <rect key="frame" x="42" y="55.5" width="11" height="16"/>
48   - <fontDescription key="fontDescription" name="PingFangSC-Light" family="PingFang SC" pointSize="11"/>
49   - <color key="textColor" red="0.50196078430000002" green="0.50196078430000002" blue="0.50196078430000002" alpha="0.84705882349999995" colorSpace="calibratedRGB"/>
50   - <nil key="highlightedColor"/>
51   - </label>
52 46 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_bo_nodata" translatesAutoresizingMaskIntoConstraints="NO" id="86W-Pq-eip">
53 47 <rect key="frame" x="8" y="131" width="274" height="27"/>
54 48 </imageView>
55 49 <view userInteractionEnabled="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Nd0-UZ-B46" customClass="LineChartView" customModule="Charts">
56   - <rect key="frame" x="3" y="80.5" width="286" height="117.5"/>
  50 + <rect key="frame" x="3" y="80" width="286" height="118"/>
57 51 <color key="backgroundColor" systemColor="systemBackgroundColor"/>
58 52 </view>
59   - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2021/11/02" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="jfI-zT-aHH">
60   - <rect key="frame" x="42" y="29.5" width="58" height="16"/>
61   - <constraints>
62   - <constraint firstAttribute="height" constant="16" id="Xgb-8w-ufh"/>
63   - </constraints>
64   - <fontDescription key="fontDescription" name="PingFangSC-Light" family="PingFang SC" pointSize="11"/>
65   - <nil key="textColor"/>
  53 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="暂无数据" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Xeq-5z-PN2">
  54 + <rect key="frame" x="119" y="89.5" width="56" height="20"/>
  55 + <fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="14"/>
  56 + <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
  57 + <nil key="highlightedColor"/>
  58 + </label>
  59 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="FoG-Wg-WFP">
  60 + <rect key="frame" x="265" y="11" width="17" height="20"/>
  61 + <fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="14"/>
  62 + <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
66 63 <nil key="highlightedColor"/>
67 64 </label>
68 65 </subviews>
... ... @@ -70,23 +67,23 @@
70 67 <viewLayoutGuide key="safeArea" id="ZTg-uK-7eu"/>
71 68 <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
72 69 <constraints>
73   - <constraint firstItem="ZKq-6e-8jy" firstAttribute="bottom" secondItem="tmb-aT-pnd" secondAttribute="bottom" constant="-6" id="0PH-zs-mse"/>
74 70 <constraint firstItem="V1U-7y-Ul6" firstAttribute="centerY" secondItem="toP-Jf-7Mt" secondAttribute="centerY" id="14d-4T-Ehf"/>
75   - <constraint firstItem="jfI-zT-aHH" firstAttribute="leading" secondItem="V1U-7y-Ul6" secondAttribute="leading" id="1D1-dl-77N"/>
76 71 <constraint firstItem="Nd0-UZ-B46" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="3" id="2AO-8j-TBM"/>
77 72 <constraint firstAttribute="trailing" secondItem="Nd0-UZ-B46" secondAttribute="trailing" constant="5" id="3E0-hJ-SC3"/>
78 73 <constraint firstItem="Nd0-UZ-B46" firstAttribute="top" secondItem="tmb-aT-pnd" secondAttribute="bottom" constant="3" id="3sP-ls-BSg"/>
79 74 <constraint firstAttribute="bottom" secondItem="Nd0-UZ-B46" secondAttribute="bottom" constant="1" id="62Y-jg-4u4"/>
80   - <constraint firstItem="jfI-zT-aHH" firstAttribute="top" secondItem="V1U-7y-Ul6" secondAttribute="bottom" constant="-1" id="A45-yy-ct3"/>
81 75 <constraint firstItem="toP-Jf-7Mt" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="10" id="AYC-BH-sag"/>
  76 + <constraint firstItem="tmb-aT-pnd" firstAttribute="top" secondItem="toP-Jf-7Mt" secondAttribute="bottom" constant="10" id="N6v-2d-hFH"/>
  77 + <constraint firstItem="Xeq-5z-PN2" firstAttribute="centerX" secondItem="gTV-IL-0wX" secondAttribute="centerX" id="NDZ-hj-x2F"/>
82 78 <constraint firstAttribute="trailing" secondItem="V1U-7y-Ul6" secondAttribute="trailing" constant="5" id="OEQ-gU-pef"/>
83 79 <constraint firstAttribute="trailing" secondItem="86W-Pq-eip" secondAttribute="trailing" constant="12" id="OdJ-Bv-wDs"/>
84   - <constraint firstItem="tmb-aT-pnd" firstAttribute="top" secondItem="jfI-zT-aHH" secondAttribute="bottom" constant="-3" id="VSu-do-yv7"/>
  80 + <constraint firstAttribute="trailing" secondItem="FoG-Wg-WFP" secondAttribute="trailing" constant="12" id="VRz-l3-Kn8"/>
85 81 <constraint firstAttribute="bottom" secondItem="86W-Pq-eip" secondAttribute="bottom" constant="41" id="Z2m-QA-0PS"/>
  82 + <constraint firstItem="Xeq-5z-PN2" firstAttribute="centerY" secondItem="gTV-IL-0wX" secondAttribute="centerY" id="bK4-VS-Tho"/>
86 83 <constraint firstItem="V1U-7y-Ul6" firstAttribute="leading" secondItem="toP-Jf-7Mt" secondAttribute="trailing" constant="10" id="jgb-g0-na2"/>
87 84 <constraint firstItem="toP-Jf-7Mt" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" constant="10" id="oZe-pf-cg5"/>
88   - <constraint firstItem="ZKq-6e-8jy" firstAttribute="leading" secondItem="tmb-aT-pnd" secondAttribute="trailing" constant="2" id="r4u-Zx-h3W"/>
89 85 <constraint firstItem="tmb-aT-pnd" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="10" id="uMp-1I-uPd"/>
  86 + <constraint firstItem="FoG-Wg-WFP" firstAttribute="centerY" secondItem="V1U-7y-Ul6" secondAttribute="centerY" id="uOi-9v-a1h"/>
90 87 <constraint firstItem="86W-Pq-eip" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="8" id="yFp-cA-gCk"/>
91 88 </constraints>
92 89 <size key="customSize" width="294" height="199"/>
... ... @@ -97,16 +94,17 @@
97 94 </userDefinedRuntimeAttributes>
98 95 <connections>
99 96 <outlet property="boValueLabel" destination="tmb-aT-pnd" id="Hh3-xp-GTb"/>
100   - <outlet property="dateLabel" destination="jfI-zT-aHH" id="96B-I3-1bm"/>
  97 + <outlet property="dateLabel" destination="FoG-Wg-WFP" id="loM-ex-8rD"/>
101 98 <outlet property="lineChartView" destination="Nd0-UZ-B46" id="8yU-Sb-l01"/>
102 99 <outlet property="noDataImageView" destination="86W-Pq-eip" id="tfg-2g-pc7"/>
  100 + <outlet property="noDataLabel" destination="Xeq-5z-PN2" id="orF-Ou-pBh"/>
103 101 <outlet property="titleLabel" destination="V1U-7y-Ul6" id="f1X-nw-clL"/>
104 102 </connections>
105 103 <point key="canvasLocation" x="314.49275362318843" y="153.01339285714286"/>
106 104 </collectionViewCell>
107 105 </objects>
108 106 <resources>
109   - <image name="home_bo" width="22" height="22"/>
  107 + <image name="home_bo" width="23.5" height="24"/>
110 108 <image name="home_bo_nodata" width="150" height="27"/>
111 109 <systemColor name="systemBackgroundColor">
112 110 <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
... ...
HDFwear/Home/Cell/Base.lproj/BloodPressureCell.xib
1 1 <?xml version="1.0" encoding="UTF-8"?>
2   -<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="19455" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
3 3 <device id="retina6_1" orientation="portrait" appearance="light"/>
4 4 <dependencies>
5 5 <deployment identifier="iOS"/>
6   - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="19454"/>
  6 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21678"/>
7 7 <capability name="Safe area layout guides" minToolsVersion="9.0"/>
8 8 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
9 9 </dependencies>
... ... @@ -37,31 +37,28 @@
37 37 <nil key="highlightedColor"/>
38 38 </label>
39 39 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="O4Z-XP-4Z1">
40   - <rect key="frame" x="10" y="43" width="29.5" height="34"/>
  40 + <rect key="frame" x="10" y="42" width="29.5" height="34"/>
41 41 <fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="24"/>
42 42 <nil key="textColor"/>
43 43 <nil key="highlightedColor"/>
44 44 </label>
45   - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="毫米汞柱" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="fWf-ML-zrf">
46   - <rect key="frame" x="41.5" y="55" width="44" height="16"/>
47   - <fontDescription key="fontDescription" name="PingFangSC-Light" family="PingFang SC" pointSize="11"/>
48   - <color key="textColor" red="0.50196078431372548" green="0.50196078431372548" blue="0.50196078431372548" alpha="0.84705882352941175" colorSpace="calibratedRGB"/>
49   - <nil key="highlightedColor"/>
50   - </label>
51 45 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_bp_nodata" translatesAutoresizingMaskIntoConstraints="NO" id="EF0-t6-2Fd">
52 46 <rect key="frame" x="10.5" y="100" width="209.5" height="55"/>
53 47 </imageView>
  48 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="暂无数据" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="QoF-t9-1sY">
  49 + <rect key="frame" x="90.5" y="80" width="56" height="20"/>
  50 + <fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="14"/>
  51 + <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
  52 + <nil key="highlightedColor"/>
  53 + </label>
54 54 <view userInteractionEnabled="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="VMw-7i-Evr" customClass="LineChartView" customModule="Charts">
55   - <rect key="frame" x="3" y="82" width="229" height="97"/>
  55 + <rect key="frame" x="3" y="81" width="229" height="98"/>
56 56 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
57 57 </view>
58 58 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Wbn-IQ-Py5">
59   - <rect key="frame" x="42" y="29.5" width="190" height="15.5"/>
60   - <constraints>
61   - <constraint firstAttribute="height" constant="15.5" id="KB9-Ys-BC6"/>
62   - </constraints>
63   - <fontDescription key="fontDescription" name="PingFangSC-Light" family="PingFang SC" pointSize="11"/>
64   - <nil key="textColor"/>
  59 + <rect key="frame" x="208" y="11" width="17" height="20"/>
  60 + <fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="14"/>
  61 + <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
65 62 <nil key="highlightedColor"/>
66 63 </label>
67 64 </subviews>
... ... @@ -69,8 +66,6 @@
69 66 <viewLayoutGuide key="safeArea" id="ZTg-uK-7eu"/>
70 67 <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
71 68 <constraints>
72   - <constraint firstItem="fWf-ML-zrf" firstAttribute="bottom" secondItem="O4Z-XP-4Z1" secondAttribute="bottom" constant="-6" id="1RR-Pz-3p0"/>
73   - <constraint firstItem="fWf-ML-zrf" firstAttribute="leading" secondItem="O4Z-XP-4Z1" secondAttribute="trailing" constant="2" id="2bK-N0-Lp0"/>
74 69 <constraint firstAttribute="trailing" secondItem="EF0-t6-2Fd" secondAttribute="trailing" constant="17" id="5bI-hF-b2W"/>
75 70 <constraint firstItem="VMw-7i-Evr" firstAttribute="top" secondItem="O4Z-XP-4Z1" secondAttribute="bottom" constant="5" id="7A6-th-iNK"/>
76 71 <constraint firstItem="EF0-t6-2Fd" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="10.5" id="DsJ-it-uAV"/>
... ... @@ -78,16 +73,17 @@
78 73 <constraint firstItem="C2Z-Hn-pTh" firstAttribute="centerY" secondItem="C5V-oE-wcR" secondAttribute="centerY" id="H0x-V9-YLP"/>
79 74 <constraint firstAttribute="bottom" secondItem="EF0-t6-2Fd" secondAttribute="bottom" constant="25" id="HuZ-Wu-1tC"/>
80 75 <constraint firstItem="C5V-oE-wcR" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="10" id="Hx5-l7-p06"/>
  76 + <constraint firstItem="O4Z-XP-4Z1" firstAttribute="top" secondItem="C5V-oE-wcR" secondAttribute="bottom" constant="10" id="NXz-Nr-DwU"/>
81 77 <constraint firstItem="O4Z-XP-4Z1" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="10" id="PTe-l9-WDA"/>
82 78 <constraint firstAttribute="bottom" secondItem="VMw-7i-Evr" secondAttribute="bottom" constant="1" id="Pz7-Es-k3x"/>
83   - <constraint firstItem="Wbn-IQ-Py5" firstAttribute="top" secondItem="C2Z-Hn-pTh" secondAttribute="bottom" constant="-1" id="Qga-Vn-Sbf"/>
84 79 <constraint firstItem="C2Z-Hn-pTh" firstAttribute="leading" secondItem="C5V-oE-wcR" secondAttribute="trailing" constant="10" id="Th6-5h-WIi"/>
85 80 <constraint firstAttribute="trailing" secondItem="C2Z-Hn-pTh" secondAttribute="trailing" constant="5" id="V3i-v6-sg7"/>
86   - <constraint firstItem="O4Z-XP-4Z1" firstAttribute="top" secondItem="Wbn-IQ-Py5" secondAttribute="bottom" constant="-2" id="asV-8S-v0G"/>
87   - <constraint firstAttribute="trailing" secondItem="Wbn-IQ-Py5" secondAttribute="trailing" constant="5" id="gHm-ZP-9E7"/>
  81 + <constraint firstItem="QoF-t9-1sY" firstAttribute="centerX" secondItem="gTV-IL-0wX" secondAttribute="centerX" id="bmb-ML-IPa"/>
  82 + <constraint firstItem="QoF-t9-1sY" firstAttribute="centerY" secondItem="gTV-IL-0wX" secondAttribute="centerY" id="ckG-7b-Klx"/>
  83 + <constraint firstAttribute="trailing" secondItem="Wbn-IQ-Py5" secondAttribute="trailing" constant="12" id="gHm-ZP-9E7"/>
88 84 <constraint firstAttribute="trailing" secondItem="VMw-7i-Evr" secondAttribute="trailing" constant="5" id="hb8-Q8-KUm"/>
89 85 <constraint firstItem="VMw-7i-Evr" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="3" id="hux-ho-HwB"/>
90   - <constraint firstItem="Wbn-IQ-Py5" firstAttribute="leading" secondItem="C2Z-Hn-pTh" secondAttribute="leading" id="n0t-z6-luq"/>
  86 + <constraint firstItem="Wbn-IQ-Py5" firstAttribute="centerY" secondItem="C2Z-Hn-pTh" secondAttribute="centerY" id="vhC-9s-teA"/>
91 87 </constraints>
92 88 <size key="customSize" width="237" height="180"/>
93 89 <userDefinedRuntimeAttributes>
... ... @@ -100,14 +96,14 @@
100 96 <outlet property="dateLabel" destination="Wbn-IQ-Py5" id="tXz-0j-qU4"/>
101 97 <outlet property="lineChartView" destination="VMw-7i-Evr" id="dSP-ir-eIi"/>
102 98 <outlet property="noDataImageView" destination="EF0-t6-2Fd" id="aY6-0H-FjF"/>
  99 + <outlet property="noDataLabel" destination="QoF-t9-1sY" id="mBH-FU-rbq"/>
103 100 <outlet property="titleLabel" destination="C2Z-Hn-pTh" id="1ik-UC-AOr"/>
104   - <outlet property="unitLabel" destination="fWf-ML-zrf" id="cwh-Yu-2Zz"/>
105 101 </connections>
106 102 <point key="canvasLocation" x="147.10144927536234" y="43.526785714285715"/>
107 103 </collectionViewCell>
108 104 </objects>
109 105 <resources>
110   - <image name="home_bp" width="22" height="22"/>
  106 + <image name="home_bp" width="24" height="24"/>
111 107 <image name="home_bp_nodata" width="142.5" height="55"/>
112 108 </resources>
113 109 </document>
... ...
HDFwear/Home/Cell/Base.lproj/HeartRateCell.xib
1 1 <?xml version="1.0" encoding="UTF-8"?>
2   -<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="19455" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
3 3 <device id="retina6_1" orientation="portrait" appearance="light"/>
4 4 <dependencies>
5 5 <deployment identifier="iOS"/>
6   - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="19454"/>
  6 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21678"/>
7 7 <capability name="Safe area layout guides" minToolsVersion="9.0"/>
8 8 <capability name="System colors in document resources" minToolsVersion="11.0"/>
9 9 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
... ... @@ -38,31 +38,28 @@
38 38 <nil key="highlightedColor"/>
39 39 </label>
40 40 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="WUF-mq-gOi">
41   - <rect key="frame" x="10" y="42.5" width="30.5" height="35"/>
  41 + <rect key="frame" x="10" y="42" width="30.5" height="35"/>
42 42 <fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="25"/>
43 43 <nil key="textColor"/>
44 44 <nil key="highlightedColor"/>
45 45 </label>
46   - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="次/分钟" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="apK-IG-TCI">
47   - <rect key="frame" x="42.5" y="55.5" width="38.5" height="16"/>
48   - <fontDescription key="fontDescription" name="PingFangSC-Light" family="PingFang SC" pointSize="11"/>
49   - <color key="textColor" red="0.50196078430000002" green="0.50196078430000002" blue="0.50196078430000002" alpha="0.84705882349999995" colorSpace="calibratedRGB"/>
50   - <nil key="highlightedColor"/>
51   - </label>
52 46 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_hr_nodata" translatesAutoresizingMaskIntoConstraints="NO" id="dfD-jF-iaE">
53 47 <rect key="frame" x="7.5" y="108.5" width="194.5" height="45.5"/>
54 48 </imageView>
55 49 <view userInteractionEnabled="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="a57-GO-k1u" customClass="LineChartView" customModule="Charts">
56   - <rect key="frame" x="3" y="82.5" width="204" height="109.5"/>
  50 + <rect key="frame" x="3" y="82" width="204" height="110"/>
57 51 <color key="backgroundColor" systemColor="systemBackgroundColor"/>
58 52 </view>
59   - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Dkg-Ds-YD6">
60   - <rect key="frame" x="42" y="29.5" width="165" height="16"/>
61   - <constraints>
62   - <constraint firstAttribute="height" constant="16" id="0o2-Xj-sNn"/>
63   - </constraints>
64   - <fontDescription key="fontDescription" name="PingFangSC-Light" family="PingFang SC" pointSize="11"/>
65   - <nil key="textColor"/>
  53 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="暂无数据" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="QI1-pd-SMo">
  54 + <rect key="frame" x="78" y="86.5" width="56" height="20"/>
  55 + <fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="14"/>
  56 + <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
  57 + <nil key="highlightedColor"/>
  58 + </label>
  59 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="fvN-aC-WXg">
  60 + <rect key="frame" x="183" y="11" width="17" height="20"/>
  61 + <fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="14"/>
  62 + <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
66 63 <nil key="highlightedColor"/>
67 64 </label>
68 65 </subviews>
... ... @@ -70,25 +67,24 @@
70 67 <viewLayoutGuide key="safeArea" id="ZTg-uK-7eu"/>
71 68 <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
72 69 <constraints>
  70 + <constraint firstAttribute="trailing" secondItem="fvN-aC-WXg" secondAttribute="trailing" constant="12" id="0uQ-GW-Vjr"/>
73 71 <constraint firstItem="dfD-jF-iaE" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="7.5" id="87k-oc-acB"/>
74 72 <constraint firstAttribute="bottom" secondItem="a57-GO-k1u" secondAttribute="bottom" constant="1" id="9dm-iF-42n"/>
75 73 <constraint firstAttribute="bottom" secondItem="dfD-jF-iaE" secondAttribute="bottom" constant="39" id="CDK-bH-abz"/>
76 74 <constraint firstItem="c5e-fr-3Gp" firstAttribute="centerY" secondItem="OJe-Dh-UUh" secondAttribute="centerY" id="Cjg-I2-feb"/>
77 75 <constraint firstItem="c5e-fr-3Gp" firstAttribute="leading" secondItem="OJe-Dh-UUh" secondAttribute="trailing" constant="10" id="Ehb-D7-hb7"/>
78   - <constraint firstItem="WUF-mq-gOi" firstAttribute="top" secondItem="Dkg-Ds-YD6" secondAttribute="bottom" constant="-3" id="Fxq-kp-XEw"/>
  76 + <constraint firstItem="WUF-mq-gOi" firstAttribute="top" secondItem="OJe-Dh-UUh" secondAttribute="bottom" constant="10" id="HNZ-Tn-j5V"/>
  77 + <constraint firstItem="QI1-pd-SMo" firstAttribute="centerY" secondItem="gTV-IL-0wX" secondAttribute="centerY" id="JdZ-dF-jTF"/>
79 78 <constraint firstAttribute="trailing" secondItem="c5e-fr-3Gp" secondAttribute="trailing" constant="5" id="PJ3-JB-pYg"/>
80   - <constraint firstAttribute="trailing" secondItem="Dkg-Ds-YD6" secondAttribute="trailing" constant="5" id="YhV-My-kMm"/>
81   - <constraint firstItem="apK-IG-TCI" firstAttribute="leading" secondItem="WUF-mq-gOi" secondAttribute="trailing" constant="2" id="cDj-Qf-rvd"/>
82 79 <constraint firstAttribute="trailing" secondItem="a57-GO-k1u" secondAttribute="trailing" constant="5" id="dKZ-03-Kmj"/>
83 80 <constraint firstItem="WUF-mq-gOi" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="10" id="dZ9-J6-XxA"/>
84   - <constraint firstItem="Dkg-Ds-YD6" firstAttribute="top" secondItem="c5e-fr-3Gp" secondAttribute="bottom" constant="-1" id="eDC-28-r9i"/>
85 81 <constraint firstItem="OJe-Dh-UUh" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="10" id="ehI-QV-OBd"/>
86 82 <constraint firstItem="a57-GO-k1u" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="3" id="ez8-pb-zxS"/>
87 83 <constraint firstItem="a57-GO-k1u" firstAttribute="top" secondItem="WUF-mq-gOi" secondAttribute="bottom" constant="5" id="ohs-E0-Nrt"/>
88   - <constraint firstItem="Dkg-Ds-YD6" firstAttribute="leading" secondItem="c5e-fr-3Gp" secondAttribute="leading" id="pyy-YV-q6w"/>
  84 + <constraint firstItem="fvN-aC-WXg" firstAttribute="centerY" secondItem="c5e-fr-3Gp" secondAttribute="centerY" id="rI9-TT-kvO"/>
  85 + <constraint firstItem="QI1-pd-SMo" firstAttribute="centerX" secondItem="gTV-IL-0wX" secondAttribute="centerX" id="s0L-E6-Hpo"/>
89 86 <constraint firstItem="OJe-Dh-UUh" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" constant="10" id="uA2-Ow-pFg"/>
90 87 <constraint firstAttribute="trailing" secondItem="dfD-jF-iaE" secondAttribute="trailing" constant="10" id="uoy-jR-jcC"/>
91   - <constraint firstItem="apK-IG-TCI" firstAttribute="bottom" secondItem="WUF-mq-gOi" secondAttribute="bottom" constant="-6" id="vlC-JX-8zL"/>
92 88 </constraints>
93 89 <size key="customSize" width="212" height="193"/>
94 90 <userDefinedRuntimeAttributes>
... ... @@ -97,18 +93,18 @@
97 93 </userDefinedRuntimeAttribute>
98 94 </userDefinedRuntimeAttributes>
99 95 <connections>
100   - <outlet property="dateLabel" destination="Dkg-Ds-YD6" id="esn-bs-j1H"/>
  96 + <outlet property="dateLabel" destination="fvN-aC-WXg" id="NgN-ig-cUe"/>
101 97 <outlet property="hrValueLabel" destination="WUF-mq-gOi" id="DJ5-Xe-t09"/>
102 98 <outlet property="lineChartView" destination="a57-GO-k1u" id="9hy-2F-cmf"/>
103 99 <outlet property="noDataImageView" destination="dfD-jF-iaE" id="CYa-Xz-TS7"/>
  100 + <outlet property="noDataLabel" destination="QI1-pd-SMo" id="YrR-ia-sjL"/>
104 101 <outlet property="titleLabel" destination="c5e-fr-3Gp" id="rUI-mH-QWE"/>
105   - <outlet property="unitLabel" destination="apK-IG-TCI" id="ymf-tv-MKA"/>
106 102 </connections>
107 103 <point key="canvasLocation" x="255.07246376811597" y="151.67410714285714"/>
108 104 </collectionViewCell>
109 105 </objects>
110 106 <resources>
111   - <image name="home_hr" width="22" height="22"/>
  107 + <image name="home_hr" width="23.5" height="24"/>
112 108 <image name="home_hr_nodata" width="152.5" height="45.5"/>
113 109 <systemColor name="systemBackgroundColor">
114 110 <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
... ...
HDFwear/Home/Cell/Base.lproj/MotionCell.xib
1 1 <?xml version="1.0" encoding="UTF-8"?>
2   -<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="19455" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
3 3 <device id="retina6_1" orientation="portrait" appearance="light"/>
4 4 <dependencies>
5 5 <deployment identifier="iOS"/>
6   - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="19454"/>
  6 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21678"/>
7 7 <capability name="Safe area layout guides" minToolsVersion="9.0"/>
8 8 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
9 9 </dependencies>
... ... @@ -37,41 +37,45 @@
37 37 <nil key="highlightedColor"/>
38 38 </label>
39 39 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="scx-9J-29c">
40   - <rect key="frame" x="10" y="43.5" width="198" height="0.0"/>
  40 + <rect key="frame" x="10" y="42" width="198" height="0.0"/>
41 41 <fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="25"/>
42 42 <nil key="textColor"/>
43 43 <nil key="highlightedColor"/>
44 44 </label>
45   - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2021/11/02" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="S0d-8B-Dy8">
46   - <rect key="frame" x="42" y="29.5" width="168" height="16"/>
47   - <constraints>
48   - <constraint firstAttribute="height" constant="16" id="CIP-8F-avx"/>
49   - </constraints>
50   - <fontDescription key="fontDescription" name="PingFangSC-Light" family="PingFang SC" pointSize="10"/>
51   - <nil key="textColor"/>
  45 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="暂无数据" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gab-ri-wEb">
  46 + <rect key="frame" x="78.5" y="93.5" width="56" height="20"/>
  47 + <fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="14"/>
  48 + <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
52 49 <nil key="highlightedColor"/>
53 50 </label>
54 51 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_motion_bg" translatesAutoresizingMaskIntoConstraints="NO" id="3Ct-xN-W86">
55 52 <rect key="frame" x="66.5" y="98.5" width="80.5" height="97.5"/>
56 53 </imageView>
  54 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Fsv-V4-VRY">
  55 + <rect key="frame" x="184" y="11" width="17" height="20"/>
  56 + <fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="14"/>
  57 + <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
  58 + <nil key="highlightedColor"/>
  59 + </label>
57 60 </subviews>
58 61 </view>
59 62 <viewLayoutGuide key="safeArea" id="ZTg-uK-7eu"/>
60 63 <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
61 64 <constraints>
  65 + <constraint firstAttribute="trailing" secondItem="Fsv-V4-VRY" secondAttribute="trailing" constant="12" id="1o5-FB-mWf"/>
62 66 <constraint firstItem="Ruf-iA-PFA" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="10" id="59Z-69-4Fy"/>
63   - <constraint firstItem="S0d-8B-Dy8" firstAttribute="leading" secondItem="nna-Lu-lEG" secondAttribute="leading" id="CZq-UQ-0tv"/>
64 67 <constraint firstAttribute="trailing" secondItem="scx-9J-29c" secondAttribute="trailing" constant="5" id="FZO-8i-NGm"/>
65 68 <constraint firstItem="nna-Lu-lEG" firstAttribute="leading" secondItem="Ruf-iA-PFA" secondAttribute="trailing" constant="10" id="Fck-FD-7Vj"/>
66 69 <constraint firstAttribute="trailing" secondItem="nna-Lu-lEG" secondAttribute="trailing" constant="5" id="JYB-pa-3Lj"/>
67   - <constraint firstAttribute="trailing" secondItem="S0d-8B-Dy8" secondAttribute="trailing" constant="3" id="UPz-O7-fFL"/>
  70 + <constraint firstItem="gab-ri-wEb" firstAttribute="centerY" secondItem="gTV-IL-0wX" secondAttribute="centerY" id="PZW-7a-8nc"/>
68 71 <constraint firstItem="scx-9J-29c" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="10" id="Vjc-1W-MBb"/>
69 72 <constraint firstItem="Ruf-iA-PFA" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" constant="10" id="bew-SJ-d2u"/>
  73 + <constraint firstItem="gab-ri-wEb" firstAttribute="centerX" secondItem="gTV-IL-0wX" secondAttribute="centerX" id="bqJ-iv-Gl9"/>
70 74 <constraint firstAttribute="bottom" secondItem="3Ct-xN-W86" secondAttribute="bottom" constant="11" id="dhc-P4-pOt"/>
71   - <constraint firstItem="S0d-8B-Dy8" firstAttribute="top" secondItem="nna-Lu-lEG" secondAttribute="bottom" constant="-1" id="gIZ-qY-P5O"/>
  75 + <constraint firstItem="scx-9J-29c" firstAttribute="top" secondItem="Ruf-iA-PFA" secondAttribute="bottom" constant="10" id="ed3-zx-bVO"/>
72 76 <constraint firstItem="nna-Lu-lEG" firstAttribute="centerY" secondItem="Ruf-iA-PFA" secondAttribute="centerY" id="kye-Xg-jI9"/>
73 77 <constraint firstItem="3Ct-xN-W86" firstAttribute="centerX" secondItem="gTV-IL-0wX" secondAttribute="centerX" id="mVU-av-tIX"/>
74   - <constraint firstItem="scx-9J-29c" firstAttribute="top" secondItem="S0d-8B-Dy8" secondAttribute="bottom" constant="-2" id="ns4-sj-k8P"/>
  78 + <constraint firstItem="Fsv-V4-VRY" firstAttribute="centerY" secondItem="nna-Lu-lEG" secondAttribute="centerY" id="xJM-U4-BJr"/>
75 79 </constraints>
76 80 <size key="customSize" width="213" height="207"/>
77 81 <userDefinedRuntimeAttributes>
... ... @@ -80,16 +84,17 @@
80 84 </userDefinedRuntimeAttribute>
81 85 </userDefinedRuntimeAttributes>
82 86 <connections>
83   - <outlet property="dateLabel" destination="S0d-8B-Dy8" id="sek-vA-Q8Z"/>
  87 + <outlet property="dateLabel" destination="Fsv-V4-VRY" id="K2N-cU-Svz"/>
84 88 <outlet property="distnaceLabel" destination="scx-9J-29c" id="WiC-Lk-2Ad"/>
85 89 <outlet property="imageView" destination="3Ct-xN-W86" id="RDs-F7-cLA"/>
  90 + <outlet property="noDataLabel" destination="gab-ri-wEb" id="4P2-3a-fN0"/>
86 91 <outlet property="titleLabel" destination="nna-Lu-lEG" id="yTg-0S-UUw"/>
87 92 </connections>
88   - <point key="canvasLocation" x="268.84057971014494" y="153.68303571428569"/>
  93 + <point key="canvasLocation" x="268.84057971014494" y="153.01339285714286"/>
89 94 </collectionViewCell>
90 95 </objects>
91 96 <resources>
92   - <image name="home_motion" width="22" height="22"/>
  97 + <image name="home_motion" width="23.5" height="24"/>
93 98 <image name="home_motion_bg" width="80.5" height="97.5"/>
94 99 </resources>
95 100 </document>
... ...
HDFwear/Home/Cell/Base.lproj/SleepCell.xib
1 1 <?xml version="1.0" encoding="UTF-8"?>
2   -<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="19455" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
3 3 <device id="retina6_1" orientation="portrait" appearance="light"/>
4 4 <dependencies>
5 5 <deployment identifier="iOS"/>
6   - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="19454"/>
  6 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21678"/>
7 7 <capability name="Safe area layout guides" minToolsVersion="9.0"/>
8 8 <capability name="System colors in document resources" minToolsVersion="11.0"/>
9 9 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
... ... @@ -38,7 +38,7 @@
38 38 <nil key="highlightedColor"/>
39 39 </label>
40 40 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=" " textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wHO-P4-sks">
41   - <rect key="frame" x="10" y="42.5" width="311" height="35"/>
  41 + <rect key="frame" x="10" y="42" width="311" height="35"/>
42 42 <fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="25"/>
43 43 <nil key="textColor"/>
44 44 <nil key="highlightedColor"/>
... ... @@ -47,16 +47,19 @@
47 47 <rect key="frame" x="9.5" y="136.5" width="295" height="29.5"/>
48 48 </imageView>
49 49 <view userInteractionEnabled="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="1lx-1Z-BTY" customClass="BarChartView" customModule="Charts">
50   - <rect key="frame" x="3" y="82.5" width="315" height="130.5"/>
  50 + <rect key="frame" x="3" y="82" width="315" height="131"/>
51 51 <color key="backgroundColor" systemColor="systemBackgroundColor"/>
52 52 </view>
53   - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="MKb-1e-7ln">
54   - <rect key="frame" x="42" y="29.5" width="279" height="16"/>
55   - <constraints>
56   - <constraint firstAttribute="height" constant="16" id="PTu-lP-Tvb"/>
57   - </constraints>
58   - <fontDescription key="fontDescription" name="PingFangSC-Light" family="PingFang SC" pointSize="11"/>
59   - <nil key="textColor"/>
  53 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="暂无数据" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="HFV-Ll-hpL">
  54 + <rect key="frame" x="135" y="97" width="56" height="20"/>
  55 + <fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="14"/>
  56 + <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
  57 + <nil key="highlightedColor"/>
  58 + </label>
  59 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Fg5-iS-v0U">
  60 + <rect key="frame" x="297" y="11" width="17" height="20"/>
  61 + <fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="14"/>
  62 + <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
60 63 <nil key="highlightedColor"/>
61 64 </label>
62 65 </subviews>
... ... @@ -64,24 +67,25 @@
64 67 <viewLayoutGuide key="safeArea" id="ZTg-uK-7eu"/>
65 68 <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
66 69 <constraints>
67   - <constraint firstItem="MKb-1e-7ln" firstAttribute="leading" secondItem="Q5w-Dn-v8e" secondAttribute="leading" id="00y-oj-uwV"/>
68 70 <constraint firstAttribute="trailing" secondItem="wHO-P4-sks" secondAttribute="trailing" constant="5" id="5P2-qg-E0X"/>
69 71 <constraint firstItem="Q5w-Dn-v8e" firstAttribute="centerY" secondItem="b6b-Xe-bH3" secondAttribute="centerY" id="5X3-Sx-UfS"/>
70 72 <constraint firstItem="VZ3-4r-MvT" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="9.5" id="69k-ns-aCZ"/>
71 73 <constraint firstAttribute="trailing" secondItem="1lx-1Z-BTY" secondAttribute="trailing" constant="8" id="6iw-jF-iU6"/>
72 74 <constraint firstAttribute="trailing" secondItem="VZ3-4r-MvT" secondAttribute="trailing" constant="21.5" id="9cC-8c-n3F"/>
  75 + <constraint firstAttribute="trailing" secondItem="Fg5-iS-v0U" secondAttribute="trailing" constant="12" id="EQI-Ke-kHx"/>
73 76 <constraint firstItem="b6b-Xe-bH3" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="10" id="Epk-Pn-jb7"/>
74 77 <constraint firstItem="1lx-1Z-BTY" firstAttribute="top" secondItem="wHO-P4-sks" secondAttribute="bottom" constant="5" id="KNK-6A-d4z"/>
  78 + <constraint firstItem="wHO-P4-sks" firstAttribute="top" secondItem="b6b-Xe-bH3" secondAttribute="bottom" constant="10" id="MyP-Ci-hap"/>
75 79 <constraint firstItem="Q5w-Dn-v8e" firstAttribute="leading" secondItem="b6b-Xe-bH3" secondAttribute="trailing" constant="10" id="RAY-FA-Cpu"/>
76   - <constraint firstAttribute="trailing" secondItem="MKb-1e-7ln" secondAttribute="trailing" constant="5" id="X2n-xx-ICf"/>
  80 + <constraint firstItem="HFV-Ll-hpL" firstAttribute="centerX" secondItem="gTV-IL-0wX" secondAttribute="centerX" id="Uqt-d2-BCi"/>
77 81 <constraint firstItem="wHO-P4-sks" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="10" id="Xgl-A3-eru"/>
78   - <constraint firstItem="wHO-P4-sks" firstAttribute="top" secondItem="MKb-1e-7ln" secondAttribute="bottom" constant="-3" id="ZAT-cF-Bld"/>
  82 + <constraint firstItem="HFV-Ll-hpL" firstAttribute="centerY" secondItem="gTV-IL-0wX" secondAttribute="centerY" id="Xua-Rz-LF4"/>
79 83 <constraint firstAttribute="bottom" secondItem="1lx-1Z-BTY" secondAttribute="bottom" constant="1" id="ZIf-Lg-hoP"/>
80 84 <constraint firstAttribute="trailing" secondItem="Q5w-Dn-v8e" secondAttribute="trailing" constant="5" id="aMl-is-qIT"/>
81 85 <constraint firstItem="1lx-1Z-BTY" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="3" id="cXM-hS-QIR"/>
82 86 <constraint firstAttribute="bottom" secondItem="VZ3-4r-MvT" secondAttribute="bottom" constant="48" id="h1q-l2-sYp"/>
83   - <constraint firstItem="MKb-1e-7ln" firstAttribute="top" secondItem="Q5w-Dn-v8e" secondAttribute="bottom" constant="-1" id="iNe-ua-eXV"/>
84 87 <constraint firstItem="b6b-Xe-bH3" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" constant="10" id="suU-sG-2Cg"/>
  88 + <constraint firstItem="Fg5-iS-v0U" firstAttribute="centerY" secondItem="Q5w-Dn-v8e" secondAttribute="centerY" id="w15-vs-4az"/>
85 89 </constraints>
86 90 <size key="customSize" width="326" height="214"/>
87 91 <userDefinedRuntimeAttributes>
... ... @@ -91,16 +95,17 @@
91 95 </userDefinedRuntimeAttributes>
92 96 <connections>
93 97 <outlet property="barChartView" destination="1lx-1Z-BTY" id="xA4-T5-Uwx"/>
94   - <outlet property="dateLabel" destination="MKb-1e-7ln" id="2we-wu-zs9"/>
  98 + <outlet property="dateLabel" destination="Fg5-iS-v0U" id="Two-Py-M5L"/>
95 99 <outlet property="lengthLabel" destination="wHO-P4-sks" id="fyV-WE-RQY"/>
96 100 <outlet property="noDataImageView" destination="VZ3-4r-MvT" id="EGp-lq-M6p"/>
  101 + <outlet property="noDataLabel" destination="HFV-Ll-hpL" id="cBD-OY-tRx"/>
97 102 <outlet property="titleLabel" destination="Q5w-Dn-v8e" id="x8v-9J-SJF"/>
98 103 </connections>
99 104 <point key="canvasLocation" x="337.68115942028987" y="158.70535714285714"/>
100 105 </collectionViewCell>
101 106 </objects>
102 107 <resources>
103   - <image name="home_sleep" width="22" height="22"/>
  108 + <image name="home_sleep" width="23.5" height="24"/>
104 109 <image name="home_sleep_nodata" width="139" height="29.5"/>
105 110 <systemColor name="systemBackgroundColor">
106 111 <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
... ...
HDFwear/Home/Cell/Base.lproj/TrainCell.xib
1 1 <?xml version="1.0" encoding="UTF-8"?>
2   -<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="19455" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
3 3 <device id="retina6_1" orientation="portrait" appearance="light"/>
4 4 <dependencies>
5 5 <deployment identifier="iOS"/>
6   - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="19454"/>
  6 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21678"/>
7 7 <capability name="Safe area layout guides" minToolsVersion="9.0"/>
8 8 <capability name="System colors in document resources" minToolsVersion="11.0"/>
9 9 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
... ... @@ -43,12 +43,6 @@
43 43 <nil key="textColor"/>
44 44 <nil key="highlightedColor"/>
45 45 </label>
46   - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="分钟" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gqd-Ci-Hn2">
47   - <rect key="frame" x="42.5" y="55" width="22" height="16"/>
48   - <fontDescription key="fontDescription" name="PingFangSC-Light" family="PingFang SC" pointSize="11"/>
49   - <color key="textColor" red="0.50196078430000002" green="0.50196078430000002" blue="0.50196078430000002" alpha="0.84705882349999995" colorSpace="calibratedRGB"/>
50   - <nil key="highlightedColor"/>
51   - </label>
52 46 <view userInteractionEnabled="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="X6R-Yc-1BP" customClass="BarChartView" customModule="Charts">
53 47 <rect key="frame" x="0.0" y="82" width="228" height="104"/>
54 48 <color key="backgroundColor" systemColor="systemBackgroundColor"/>
... ... @@ -56,13 +50,16 @@
56 50 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_train_nodata" translatesAutoresizingMaskIntoConstraints="NO" id="qq0-M6-ZAT">
57 51 <rect key="frame" x="10" y="88" width="189" height="67"/>
58 52 </imageView>
59   - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="B4e-vW-sQh">
60   - <rect key="frame" x="42" y="29.5" width="188" height="15.5"/>
61   - <constraints>
62   - <constraint firstAttribute="height" constant="15.5" id="ujz-xM-Ug6"/>
63   - </constraints>
64   - <fontDescription key="fontDescription" name="PingFangSC-Light" family="PingFang SC" pointSize="11"/>
65   - <nil key="textColor"/>
  53 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="暂无数据" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="0U9-Fu-Ck8">
  54 + <rect key="frame" x="88.5" y="83.5" width="56" height="20"/>
  55 + <fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="14"/>
  56 + <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
  57 + <nil key="highlightedColor"/>
  58 + </label>
  59 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="84h-AF-lu5">
  60 + <rect key="frame" x="204" y="11" width="17" height="20"/>
  61 + <fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="14"/>
  62 + <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
66 63 <nil key="highlightedColor"/>
67 64 </label>
68 65 </subviews>
... ... @@ -73,22 +70,21 @@
73 70 <constraint firstItem="qq0-M6-ZAT" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="10" id="8Fj-BM-XJI"/>
74 71 <constraint firstItem="mSZ-VW-9tS" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" constant="10" id="9xu-p7-hKT"/>
75 72 <constraint firstItem="5Ie-Ha-PGF" firstAttribute="centerY" secondItem="mSZ-VW-9tS" secondAttribute="centerY" id="AZI-lJ-iZM"/>
76   - <constraint firstItem="B4e-vW-sQh" firstAttribute="leading" secondItem="5Ie-Ha-PGF" secondAttribute="leading" id="DWI-Pg-Zit"/>
77   - <constraint firstItem="kQF-7N-pFg" firstAttribute="top" secondItem="B4e-vW-sQh" secondAttribute="bottom" constant="-3" id="LbV-Rp-TQT"/>
  73 + <constraint firstItem="0U9-Fu-Ck8" firstAttribute="centerY" secondItem="gTV-IL-0wX" secondAttribute="centerY" id="M0U-ZB-wzw"/>
78 74 <constraint firstAttribute="trailing" secondItem="X6R-Yc-1BP" secondAttribute="trailing" constant="5" id="NHq-0V-Uso"/>
79   - <constraint firstItem="B4e-vW-sQh" firstAttribute="top" secondItem="5Ie-Ha-PGF" secondAttribute="bottom" constant="-1" id="Sh9-Sx-X4r"/>
  75 + <constraint firstItem="0U9-Fu-Ck8" firstAttribute="centerX" secondItem="gTV-IL-0wX" secondAttribute="centerX" id="Ugb-cv-l5S"/>
80 76 <constraint firstItem="X6R-Yc-1BP" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" id="Yq7-wi-l1N"/>
81 77 <constraint firstItem="kQF-7N-pFg" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="10" id="cL5-0F-iLQ"/>
82 78 <constraint firstAttribute="trailing" secondItem="qq0-M6-ZAT" secondAttribute="trailing" constant="34" id="cfw-nc-1GZ"/>
83   - <constraint firstAttribute="trailing" secondItem="B4e-vW-sQh" secondAttribute="trailing" constant="3" id="fLC-2P-uh5"/>
84 79 <constraint firstItem="mSZ-VW-9tS" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="10" id="gBv-GR-XxH"/>
  80 + <constraint firstAttribute="trailing" secondItem="84h-AF-lu5" secondAttribute="trailing" constant="12" id="hvI-Rq-1uk"/>
  81 + <constraint firstItem="84h-AF-lu5" firstAttribute="centerY" secondItem="5Ie-Ha-PGF" secondAttribute="centerY" id="if3-0p-x3p"/>
85 82 <constraint firstAttribute="bottom" secondItem="X6R-Yc-1BP" secondAttribute="bottom" constant="1" id="lpm-Pd-IgV"/>
86   - <constraint firstItem="gqd-Ci-Hn2" firstAttribute="bottom" secondItem="kQF-7N-pFg" secondAttribute="bottom" constant="-6" id="pFi-Nt-SXS"/>
  83 + <constraint firstItem="kQF-7N-pFg" firstAttribute="top" secondItem="mSZ-VW-9tS" secondAttribute="bottom" constant="10" id="sIX-fN-Zo5"/>
87 84 <constraint firstAttribute="trailing" secondItem="5Ie-Ha-PGF" secondAttribute="trailing" constant="5" id="whg-0d-fQi"/>
88 85 <constraint firstItem="X6R-Yc-1BP" firstAttribute="top" secondItem="kQF-7N-pFg" secondAttribute="bottom" constant="5" id="x67-T4-4c5"/>
89 86 <constraint firstItem="5Ie-Ha-PGF" firstAttribute="leading" secondItem="mSZ-VW-9tS" secondAttribute="trailing" constant="10" id="yEL-mg-OkK"/>
90 87 <constraint firstAttribute="bottom" secondItem="qq0-M6-ZAT" secondAttribute="bottom" constant="32" id="ytJ-3q-kDy"/>
91   - <constraint firstItem="gqd-Ci-Hn2" firstAttribute="leading" secondItem="kQF-7N-pFg" secondAttribute="trailing" constant="2" id="zGS-1O-1PR"/>
92 88 </constraints>
93 89 <size key="customSize" width="233" height="187"/>
94 90 <userDefinedRuntimeAttributes>
... ... @@ -98,17 +94,17 @@
98 94 </userDefinedRuntimeAttributes>
99 95 <connections>
100 96 <outlet property="barChartView" destination="X6R-Yc-1BP" id="UXA-T4-hmf"/>
101   - <outlet property="dateLabel" destination="B4e-vW-sQh" id="Ysm-d4-c7y"/>
  97 + <outlet property="dateLabel" destination="84h-AF-lu5" id="UEt-tx-Sgq"/>
102 98 <outlet property="lengthLabel" destination="kQF-7N-pFg" id="UHH-kZ-H63"/>
103 99 <outlet property="noDataImageView" destination="qq0-M6-ZAT" id="jVD-cD-iAG"/>
  100 + <outlet property="noDataLabel" destination="0U9-Fu-Ck8" id="54p-YU-RCe"/>
104 101 <outlet property="titleLabel" destination="5Ie-Ha-PGF" id="8eN-ES-cGJ"/>
105   - <outlet property="unitLabel" destination="gqd-Ci-Hn2" id="28W-uB-tQo"/>
106 102 </connections>
107 103 <point key="canvasLocation" x="270.28985507246381" y="149.66517857142856"/>
108 104 </collectionViewCell>
109 105 </objects>
110 106 <resources>
111   - <image name="home_train" width="22" height="22"/>
  107 + <image name="home_train" width="24" height="24"/>
112 108 <image name="home_train_nodata" width="126" height="67"/>
113 109 <systemColor name="systemBackgroundColor">
114 110 <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
... ...
HDFwear/Home/Cell/Base.lproj/WomenHealthCell.xib
1 1 <?xml version="1.0" encoding="UTF-8"?>
2   -<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="19455" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
3 3 <device id="retina6_1" orientation="portrait" appearance="light"/>
4 4 <dependencies>
5 5 <deployment identifier="iOS"/>
6   - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="19454"/>
  6 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21678"/>
7 7 <capability name="Safe area layout guides" minToolsVersion="9.0"/>
8 8 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
9 9 </dependencies>
... ... @@ -37,7 +37,7 @@
37 37 <nil key="highlightedColor"/>
38 38 </label>
39 39 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="10/25" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Zp6-VG-vYG">
40   - <rect key="frame" x="10" y="43.5" width="65" height="35"/>
  40 + <rect key="frame" x="10" y="42" width="65" height="35"/>
41 41 <constraints>
42 42 <constraint firstAttribute="height" constant="35" id="Xgr-CW-BeP"/>
43 43 </constraints>
... ... @@ -45,28 +45,22 @@
45 45 <nil key="textColor"/>
46 46 <nil key="highlightedColor"/>
47 47 </label>
48   - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2021/11/02" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="f0c-OJ-0Bl">
49   - <rect key="frame" x="42" y="29.5" width="58" height="16"/>
50   - <constraints>
51   - <constraint firstAttribute="height" constant="16" id="O9k-MW-thX"/>
52   - </constraints>
53   - <fontDescription key="fontDescription" name="PingFangSC-Light" family="PingFang SC" pointSize="11"/>
54   - <nil key="textColor"/>
55   - <nil key="highlightedColor"/>
56   - </label>
57 48 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_women_health_bg" translatesAutoresizingMaskIntoConstraints="NO" id="yk0-3e-D1o">
58   - <rect key="frame" x="74" y="100.5" width="117" height="132.5"/>
  49 + <rect key="frame" x="72.5" y="97" width="120" height="136"/>
59 50 <constraints>
60 51 <constraint firstAttribute="width" secondItem="yk0-3e-D1o" secondAttribute="height" multiplier="15:17" id="JDW-sq-Lb1"/>
61 52 </constraints>
62 53 </imageView>
63   - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="最近一次月经" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rS0-B8-Lyz">
64   - <rect key="frame" x="10" y="75.5" width="66" height="16"/>
65   - <constraints>
66   - <constraint firstAttribute="height" constant="16" id="Fy6-dg-sOn"/>
67   - </constraints>
68   - <fontDescription key="fontDescription" name="PingFangSC-Light" family="PingFang SC" pointSize="11"/>
69   - <color key="textColor" red="0.50196078430000002" green="0.50196078430000002" blue="0.50196078430000002" alpha="0.84705882349999995" colorSpace="calibratedRGB"/>
  54 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="暂无数据" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rfD-sy-LGE">
  55 + <rect key="frame" x="104.5" y="114" width="56" height="20"/>
  56 + <fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="14"/>
  57 + <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
  58 + <nil key="highlightedColor"/>
  59 + </label>
  60 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="BWi-LD-IOI">
  61 + <rect key="frame" x="236" y="11" width="17" height="20"/>
  62 + <fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="14"/>
  63 + <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
70 64 <nil key="highlightedColor"/>
71 65 </label>
72 66 </subviews>
... ... @@ -74,20 +68,20 @@
74 68 <viewLayoutGuide key="safeArea" id="ZTg-uK-7eu"/>
75 69 <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
76 70 <constraints>
  71 + <constraint firstAttribute="trailing" secondItem="BWi-LD-IOI" secondAttribute="trailing" constant="12" id="0pS-t8-LKf"/>
77 72 <constraint firstAttribute="bottom" secondItem="yk0-3e-D1o" secondAttribute="bottom" constant="15" id="2zo-k5-4Xd"/>
78   - <constraint firstItem="rS0-B8-Lyz" firstAttribute="top" secondItem="Zp6-VG-vYG" secondAttribute="bottom" constant="-3" id="HDd-Ml-fnp"/>
79 73 <constraint firstItem="Zp6-VG-vYG" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="10" id="I4f-h6-duR"/>
80   - <constraint firstItem="Zp6-VG-vYG" firstAttribute="top" secondItem="f0c-OJ-0Bl" secondAttribute="bottom" constant="-2" id="K2f-GN-mml"/>
81 74 <constraint firstItem="E5i-xz-Lcs" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="10" id="Rys-Yk-E85"/>
82   - <constraint firstItem="yk0-3e-D1o" firstAttribute="top" secondItem="rS0-B8-Lyz" secondAttribute="bottom" constant="9" id="bwH-zS-chm"/>
  75 + <constraint firstItem="BWi-LD-IOI" firstAttribute="centerY" secondItem="MLv-9B-1FM" secondAttribute="centerY" id="Wp6-2b-fQY"/>
  76 + <constraint firstItem="Zp6-VG-vYG" firstAttribute="top" secondItem="E5i-xz-Lcs" secondAttribute="bottom" constant="10" id="azC-fa-uKZ"/>
83 77 <constraint firstItem="MLv-9B-1FM" firstAttribute="centerY" secondItem="E5i-xz-Lcs" secondAttribute="centerY" id="edC-yR-Iww"/>
84 78 <constraint firstItem="MLv-9B-1FM" firstAttribute="leading" secondItem="E5i-xz-Lcs" secondAttribute="trailing" constant="10" id="fgh-Dm-aTr"/>
85 79 <constraint firstAttribute="trailing" secondItem="MLv-9B-1FM" secondAttribute="trailing" constant="5" id="gVP-0M-qeo"/>
86   - <constraint firstItem="f0c-OJ-0Bl" firstAttribute="leading" secondItem="MLv-9B-1FM" secondAttribute="leading" id="jqk-ut-PIq"/>
87 80 <constraint firstItem="yk0-3e-D1o" firstAttribute="centerX" secondItem="gTV-IL-0wX" secondAttribute="centerX" id="mDq-iV-DC9"/>
88   - <constraint firstItem="f0c-OJ-0Bl" firstAttribute="top" secondItem="MLv-9B-1FM" secondAttribute="bottom" constant="-1" id="oqN-AF-6Uz"/>
  81 + <constraint firstItem="yk0-3e-D1o" firstAttribute="top" secondItem="Zp6-VG-vYG" secondAttribute="bottom" constant="20" id="qHf-ny-09T"/>
  82 + <constraint firstItem="rfD-sy-LGE" firstAttribute="centerY" secondItem="gTV-IL-0wX" secondAttribute="centerY" id="rSH-Ii-RNZ"/>
  83 + <constraint firstItem="rfD-sy-LGE" firstAttribute="centerX" secondItem="gTV-IL-0wX" secondAttribute="centerX" id="sbc-24-CkX"/>
89 84 <constraint firstItem="E5i-xz-Lcs" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" constant="10" id="t6F-Ab-Mjh"/>
90   - <constraint firstItem="rS0-B8-Lyz" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="10" id="wQL-zt-xgN"/>
91 85 </constraints>
92 86 <size key="customSize" width="265" height="248"/>
93 87 <userDefinedRuntimeAttributes>
... ... @@ -96,18 +90,17 @@
96 90 </userDefinedRuntimeAttribute>
97 91 </userDefinedRuntimeAttributes>
98 92 <connections>
99   - <outlet property="dateLabel" destination="f0c-OJ-0Bl" id="0ls-Vm-dFa"/>
100   - <outlet property="detailLabel" destination="rS0-B8-Lyz" id="i1U-7q-Ajr"/>
  93 + <outlet property="dateLabel" destination="BWi-LD-IOI" id="Wh8-zX-JZ3"/>
101 94 <outlet property="imageView" destination="yk0-3e-D1o" id="uNt-wo-1C6"/>
102 95 <outlet property="lastLabel" destination="Zp6-VG-vYG" id="ows-pE-XmD"/>
103   - <outlet property="locLabel" destination="rS0-B8-Lyz" id="J8p-Wt-1i5"/>
  96 + <outlet property="noDataLabel" destination="rfD-sy-LGE" id="tYR-Ig-efy"/>
104 97 <outlet property="titleLabel" destination="MLv-9B-1FM" id="q6Z-Ep-nhj"/>
105 98 </connections>
106 99 <point key="canvasLocation" x="293.47826086956525" y="168.75"/>
107 100 </collectionViewCell>
108 101 </objects>
109 102 <resources>
110   - <image name="home_women_health" width="22" height="22"/>
  103 + <image name="home_women_health" width="23.5" height="24"/>
111 104 <image name="home_women_health_bg" width="60" height="101.5"/>
112 105 </resources>
113 106 </document>
... ...
HDFwear/Home/Cell/BloodOxygenCell.swift
... ... @@ -12,23 +12,23 @@ class BloodOxygenCell: UICollectionViewCell {
12 12  
13 13 @IBOutlet weak var boValueLabel: UILabel!
14 14 @IBOutlet weak var dateLabel: UILabel!
  15 + @IBOutlet weak var noDataLabel: UILabel!
15 16 @IBOutlet weak var noDataImageView: UIImageView!
16 17 @IBOutlet weak var lineChartView: LineChartView!
17 18 @IBOutlet weak var titleLabel: UILabel!
18   -
19 19 var boHistory: [BloodOxygenModel] = [] {
20 20 didSet {
21 21 let count = boHistory.count
22 22 if count == 0 {
23   - boValueLabel.text = "--"
24   - dateLabel.text = LocString("暂无数据")
25   - noDataImageView.isHidden = false
  23 + boValueLabel.text = ""
  24 + dateLabel.text = ""
  25 + noDataLabel.isHidden = false
26 26 lineChartView.isHidden = true
27 27 } else {
28   - boValueLabel.text = "\(boHistory[count-1].value)"
29   - dateLabel.text = boHistory[count-1].date!.toString(.custom("yyyy/MM/dd"))
  28 + boValueLabel.text = "\(boHistory[count-1].value)%"
  29 + dateLabel.text = boHistory[count-1].date!.toString(.custom("MM/dd"))
30 30 updateChartView(boHistory)
31   - noDataImageView.isHidden = true
  31 + noDataLabel.isHidden = true
32 32 lineChartView.isHidden = false
33 33 }
34 34 }
... ... @@ -86,6 +86,7 @@ class BloodOxygenCell: UICollectionViewCell {
86 86 override func awakeFromNib() {
87 87 super.awakeFromNib()
88 88 titleLabel.text = LocString("血氧")
  89 + noDataImageView.isHidden = true
89 90 // Initialization code
90 91 }
91 92  
... ...
HDFwear/Home/Cell/BloodPressureCell.swift
... ... @@ -12,24 +12,24 @@ class BloodPressureCell: UICollectionViewCell {
12 12  
13 13 @IBOutlet weak var bpValueLabel: UILabel!
14 14 @IBOutlet weak var lineChartView: LineChartView!
  15 + @IBOutlet weak var noDataLabel: UILabel!
15 16 @IBOutlet weak var noDataImageView: UIImageView!
16 17 @IBOutlet weak var dateLabel: UILabel!
17 18  
18   - @IBOutlet weak var unitLabel: UILabel!
19 19 @IBOutlet weak var titleLabel: UILabel!
20 20 var bpHistory: [BloodPressureModel] = [] {
21 21 didSet {
22 22 let count = bpHistory.count
23 23 if count == 0 {
24   - bpValueLabel.text = "--/--"
25   - dateLabel.text = LocString("暂无数据")
26   - noDataImageView.isHidden = false
  24 + bpValueLabel.text = ""
  25 + dateLabel.text = ""
  26 + noDataLabel.isHidden = false
27 27 lineChartView.isHidden = true
28 28 } else {
29   - bpValueLabel.text = "\(bpHistory[count-1].sbp)/\(bpHistory[count-1].dbp)"
30   - dateLabel.text = bpHistory[count-1].date!.toString(.custom("yyyy/MM/dd"))
  29 + bpValueLabel.text = "\(bpHistory[count-1].sbp)/\(bpHistory[count-1].dbp)mmHg"
  30 + dateLabel.text = bpHistory[count-1].date!.toString(.custom("MM/dd"))
31 31 updateChartView(bpHistory)
32   - noDataImageView.isHidden = true
  32 + noDataLabel.isHidden = true
33 33 lineChartView.isHidden = false
34 34 }
35 35 }
... ... @@ -91,7 +91,8 @@ class BloodPressureCell: UICollectionViewCell {
91 91 override func awakeFromNib() {
92 92 super.awakeFromNib()
93 93 titleLabel.text = LocString("血压")
94   - unitLabel.text = LocString("毫米汞柱")
  94 + noDataImageView.isHidden = true
  95 +// unitLabel.text = LocString("毫米汞柱")
95 96 // Initialization code
96 97 }
97 98  
... ...
HDFwear/Home/Cell/HeartRateCell.swift
... ... @@ -12,24 +12,24 @@ class HeartRateCell: UICollectionViewCell {
12 12  
13 13 @IBOutlet weak var hrValueLabel: UILabel!
14 14 @IBOutlet weak var dateLabel: UILabel!
  15 + @IBOutlet weak var noDataLabel: UILabel!
15 16 @IBOutlet weak var noDataImageView: UIImageView!
16 17 @IBOutlet weak var lineChartView: LineChartView!
17 18  
18   - @IBOutlet weak var unitLabel: UILabel!
19 19 @IBOutlet weak var titleLabel: UILabel!
20 20 var hrHistory: [HeartRateModel] = [] {
21 21 didSet {
22 22 let count = hrHistory.count
23 23 if count == 0 {
24   - hrValueLabel.text = "--"
25   - dateLabel.text = LocString("暂无数据")
26   - noDataImageView.isHidden = false
  24 + hrValueLabel.text = ""
  25 + dateLabel.text = ""
  26 + noDataLabel.isHidden = false
27 27 lineChartView.isHidden = true
28 28 } else {
29   - hrValueLabel.text = "\(hrHistory[count-1].value)"
30   - dateLabel.text = hrHistory[count-1].date!.toString(.custom("yyyy/MM/dd"))
  29 + hrValueLabel.text = "\(hrHistory[count-1].value)次/分"
  30 + dateLabel.text = hrHistory[count-1].date!.toString(.custom("MM/dd"))
31 31 updateChartView(hrHistory)
32   - noDataImageView.isHidden = true
  32 + noDataLabel.isHidden = true
33 33 lineChartView.isHidden = false
34 34 }
35 35 }
... ... @@ -85,8 +85,8 @@ class HeartRateCell: UICollectionViewCell {
85 85  
86 86 override func awakeFromNib() {
87 87 super.awakeFromNib()
88   - unitLabel.text = LocString("次/分钟")
89 88 titleLabel.text = LocString("心率")
  89 + noDataImageView.isHidden = true
90 90 // lineChartView.isUserInteractionEnabled = false
91 91 // Initialization code
92 92 }
... ...
HDFwear/Home/Cell/MotionCell.swift
... ... @@ -12,14 +12,16 @@ class MotionCell: UICollectionViewCell {
12 12 @IBOutlet weak var imageView: UIImageView!
13 13 @IBOutlet weak var dateLabel: UILabel!
14 14 @IBOutlet weak var distnaceLabel: UILabel!
15   -
  15 + @IBOutlet weak var noDataLabel: UILabel!
16 16 @IBOutlet weak var titleLabel: UILabel!
17 17 var motion: MotionModel = MotionModel() {
18 18 didSet {
19 19  
20 20 if motion.date == nil {
21   - dateLabel.text = LocString("暂无数据")
  21 + dateLabel.text = ""
22 22 imageView.image = UIImage(named: "home_motion_nodata")
  23 + imageView.isHidden = true
  24 + noDataLabel.isHidden = false
23 25 distnaceLabel.text = ""
24 26 } else {
25 27 if UserInfo.distanceUnit == 0 {
... ... @@ -31,6 +33,8 @@ class MotionCell: UICollectionViewCell {
31 33 // distnaceLabel.text = String(format:"%.2f",Float(motion.distance)/1000) + "公里"
32 34 dateLabel.text = motion.date!.toString(.custom("yyyy/MM/dd"))
33 35 imageView.image = UIImage(named: "home_motion_bg")
  36 + imageView.isHidden = false
  37 + noDataLabel.isHidden = true
34 38 }
35 39 }
36 40 }
... ...
HDFwear/Home/Cell/SleepCell.swift
... ... @@ -11,6 +11,7 @@ import Charts
11 11 class SleepCell: UICollectionViewCell {
12 12 @IBOutlet weak var lengthLabel: UILabel!
13 13 @IBOutlet weak var dateLabel: UILabel!
  14 + @IBOutlet weak var noDataLabel: UILabel!
14 15 @IBOutlet weak var noDataImageView: UIImageView!
15 16 @IBOutlet weak var barChartView: BarChartView!
16 17  
... ... @@ -19,14 +20,14 @@ class SleepCell: UICollectionViewCell {
19 20 didSet {
20 21 if sleep.startDate == nil {
21 22 lengthLabel.text = " "
22   - dateLabel.text = LocString("暂无数据")
23   - noDataImageView.isHidden = false
  23 + dateLabel.text = ""
  24 + noDataLabel.isHidden = false
24 25 barChartView.isHidden = true
25 26 } else {
26 27 lengthLabel.toTimeType1(length: sleep.sleepLength, BoldFont(25), LightFont(11))
27   - dateLabel.text = sleep.endDate!.toString(.custom("yyyy/MM/dd"))
  28 + dateLabel.text = sleep.endDate!.toString(.custom("MM/dd"))
28 29 updateChartView(sleep)
29   - noDataImageView.isHidden = true
  30 + noDataLabel.isHidden = true
30 31 barChartView.isHidden = false
31 32 }
32 33 }
... ... @@ -88,6 +89,7 @@ class SleepCell: UICollectionViewCell {
88 89 override func awakeFromNib() {
89 90 super.awakeFromNib()
90 91 titleLabel.text = LocString("睡眠")
  92 + noDataImageView.isHidden = true
91 93 // lineChartView.isUserInteractionEnabled = false
92 94 // Initialization code
93 95 }
... ...
HDFwear/Home/Cell/SortPageSectionHeader.h 0 → 100644
  1 +//
  2 +// SortPageSectionHeader.h
  3 +// HDFwear
  4 +//
  5 +// Created by daifengyi on 2023/5/20.
  6 +//
  7 +
  8 +#import <UIKit/UIKit.h>
  9 +
  10 +NS_ASSUME_NONNULL_BEGIN
  11 +
  12 +@interface SortPageSectionHeader : UITableViewHeaderFooterView
  13 +
  14 +@end
  15 +
  16 +NS_ASSUME_NONNULL_END
... ...
HDFwear/Home/Cell/SortPageSectionHeader.m 0 → 100644
  1 +//
  2 +// SortPageSectionHeader.m
  3 +// HDFwear
  4 +//
  5 +// Created by daifengyi on 2023/5/20.
  6 +//
  7 +
  8 +#import "SortPageSectionHeader.h"
  9 +
  10 +@implementation SortPageSectionHeader
  11 +
  12 +/*
  13 +// Only override drawRect: if you perform custom drawing.
  14 +// An empty implementation adversely affects performance during animation.
  15 +- (void)drawRect:(CGRect)rect {
  16 + // Drawing code
  17 +}
  18 +*/
  19 +
  20 +@end
... ...
HDFwear/Home/Cell/SortPageSectionHeader.xib 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
  3 + <device id="retina6_12" orientation="portrait" appearance="light"/>
  4 + <dependencies>
  5 + <deployment identifier="iOS"/>
  6 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21678"/>
  7 + <capability name="Safe area layout guides" minToolsVersion="9.0"/>
  8 + <capability name="System colors in document resources" minToolsVersion="11.0"/>
  9 + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
  10 + </dependencies>
  11 + <objects>
  12 + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
  13 + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
  14 + <view contentMode="scaleToFill" id="iN0-l3-epB" customClass="SortPageSectionHeader">
  15 + <rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
  16 + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
  17 + <viewLayoutGuide key="safeArea" id="vUN-kp-3ea"/>
  18 + <color key="backgroundColor" systemColor="systemBackgroundColor"/>
  19 + <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
  20 + <point key="canvasLocation" x="47" y="14"/>
  21 + </view>
  22 + </objects>
  23 + <resources>
  24 + <systemColor name="systemBackgroundColor">
  25 + <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
  26 + </systemColor>
  27 + </resources>
  28 +</document>
... ...
HDFwear/Home/Cell/TrainCell.swift
... ... @@ -13,24 +13,24 @@ class TrainCell: UICollectionViewCell {
13 13  
14 14 @IBOutlet weak var lengthLabel: UILabel!
15 15 @IBOutlet weak var dateLabel: UILabel!
  16 + @IBOutlet weak var noDataLabel: UILabel!
16 17 @IBOutlet weak var noDataImageView: UIImageView!
17 18 @IBOutlet weak var barChartView: BarChartView!
18 19  
19   - @IBOutlet weak var unitLabel: UILabel!
20 20 @IBOutlet weak var titleLabel: UILabel!
21 21 var trainHistory: [TrainModel] = [] {
22 22 didSet {
23 23 let count = trainHistory.count
24 24 if count == 0 {
25   - lengthLabel.text = "--"
26   - dateLabel.text = LocString("暂无数据")
27   - noDataImageView.isHidden = false
  25 + lengthLabel.text = ""
  26 + dateLabel.text = ""
  27 + noDataLabel.isHidden = false
28 28 barChartView.isHidden = true
29 29 } else {
30   - lengthLabel.text = "\(trainHistory[count-1].length/60)"
31   - dateLabel.text = trainHistory[count-1].date!.toString(.custom("yyyy/MM/dd"))
  30 + lengthLabel.text = "\(trainHistory[count-1].length/60)分钟"
  31 + dateLabel.text = trainHistory[count-1].date!.toString(.custom("MM/dd"))
32 32 updateChartView(trainHistory)
33   - noDataImageView.isHidden = true
  33 + noDataLabel.isHidden = true
34 34 barChartView.isHidden = false
35 35 }
36 36 }
... ... @@ -86,7 +86,7 @@ class TrainCell: UICollectionViewCell {
86 86 override func awakeFromNib() {
87 87 super.awakeFromNib()
88 88 titleLabel.text = LocString("训练")
89   - unitLabel.text = LocString("分钟min")
  89 + noDataImageView.isHidden = true
90 90 // Initialization code
91 91 }
92 92  
... ...
HDFwear/Home/Cell/WomenHealthCell.swift
... ... @@ -13,31 +13,33 @@ class WomenHealthCell: UICollectionViewCell {
13 13 @IBOutlet weak var imageView: UIImageView!
14 14 @IBOutlet weak var dateLabel: UILabel!
15 15 @IBOutlet weak var lastLabel: UILabel!
16   -
17   - @IBOutlet weak var locLabel: UILabel!
  16 + @IBOutlet weak var noDataLabel: UILabel!
18 17 @IBOutlet weak var titleLabel: UILabel!
19   - @IBOutlet weak var detailLabel: UILabel!
20 18 var menstrual: MenstrualModel = MenstrualModel() {
21 19 didSet {
22 20 if menstrual.days == 0 {
23   - dateLabel.text = LocString("暂无数据")
  21 + dateLabel.text = ""
24 22 imageView.image = UIImage(named: "home_women_health_nodata")
25   - detailLabel.isHidden = true
  23 + imageView.isHidden = true
  24 + noDataLabel.isHidden = false
26 25 lastLabel.text = ""
27 26 } else {
28 27 if let model = MenstrualCalendarModel.getLastMenstrual() {
29   - lastLabel.text = model.date!.toString(.custom("MM/dd"))
  28 + let interval = Date() .timeIntervalSince(model.date!)
  29 + let day = Int(interval / 24 / 60 / 60);
  30 +// lastLabel.text = model.date!.toString(.custom("MM/dd"))
  31 + lastLabel.text = "经期第\(day)天"
30 32 }
31   - dateLabel.text = DateInRegion().date.toString(.custom("yyyy/MM/dd"))
  33 + dateLabel.text = DateInRegion().date.toString(.custom("MM/dd"))
32 34 imageView.image = UIImage(named: "home_women_health_bg")
33   - detailLabel.isHidden = false
  35 + imageView.isHidden = false
  36 + noDataLabel.isHidden = true
34 37 }
35 38 }
36 39 }
37 40 override func awakeFromNib() {
38 41 super.awakeFromNib()
39 42 titleLabel.text = LocString("女性健康")
40   - locLabel.text = LocString("最近一次月经")
41 43 // Initialization code
42 44 }
43 45  
... ...
HDFwear/Home/HomeViewController.swift
... ... @@ -19,24 +19,24 @@ import CoreLocation
19 19 class HomeViewController: UIViewController, CLLocationManagerDelegate {
20 20  
21 21  
  22 + @IBOutlet weak var titleLabel: UILabel!
22 23 @IBOutlet weak var collectionView: UICollectionView!
23 24 @IBOutlet weak var collectViewHeight: NSLayoutConstraint!
24 25 @IBOutlet weak var scrollView: UIScrollView!
25 26  
26 27 @IBOutlet weak var bindButton: UIButton!
27   - @IBOutlet weak var bindLabel: UILabel!
  28 + @IBOutlet weak var bindLabel: UILabel?
28 29  
29 30 @IBOutlet weak var stepProgressView: StepCircleView!
30   - @IBOutlet weak var stepsGoalLabel: UILabel!
31   - @IBOutlet weak var stepDateLabel: UILabel!
  31 + @IBOutlet weak var stepsTimeLabel: UILabel!
32 32 @IBOutlet weak var stepsDistanceLabel: UILabel!
33 33 @IBOutlet weak var stepsCalorieLabel: UILabel!
34 34  
35 35 @IBOutlet weak var topView: UIView!
36   - @IBOutlet weak var weatherImageView: UIImageView!
37   - @IBOutlet weak var weatherDateLabel: UILabel!
38   - @IBOutlet weak var weatherLabel: UILabel!
39   - private var weatherArray: [WeatherModel] = []
  36 +// @IBOutlet weak var weatherImageView: UIImageView!
  37 +// @IBOutlet weak var weatherDateLabel: UILabel!
  38 +// @IBOutlet weak var weatherLabel: UILabel!
  39 +// private var weatherArray: [WeatherModel] = []
40 40  
41 41 var collectArray: [String] = CurDevice.homePage
42 42 var scanView: ScanView? = nil
... ... @@ -101,7 +101,7 @@ class HomeViewController: UIViewController, CLLocationManagerDelegate {
101 101 }
102 102 SystemAuth.authLocation {[weak self] isAuth, isFirst in
103 103 if isAuth || isFirst {
104   - self?.updateWeatherView(true)
  104 +// self?.updateWeatherView(true)
105 105 }
106 106 }
107 107  
... ... @@ -125,7 +125,7 @@ class HomeViewController: UIViewController, CLLocationManagerDelegate {
125 125  
126 126 @objc func clockDidChanged() {
127 127 let date = DateInRegion().date
128   - weatherDateLabel.text = date.toString(.custom("yyyy/MM/dd")) + " " + date.weekText
  128 +// weatherDateLabel.text = date.toString(.custom("yyyy/MM/dd")) + " " + date.weekText
129 129 BluetoothManager.shared.setTime(format: TimeFormat(rawValue: UInt8(UserInfo.timeFormat))!, completion: nil)
130 130 }
131 131  
... ... @@ -148,12 +148,13 @@ class HomeViewController: UIViewController, CLLocationManagerDelegate {
148 148 switch manager.authorizationStatus {
149 149 case .notDetermined:
150 150 if manager.authorizationStatus == .authorizedAlways || manager.authorizationStatus == .authorizedWhenInUse {
151   - updateWeatherView(true)
  151 +// updateWeatherView(true)
152 152 } else {
153 153  
154 154 }
155   - case .authorizedAlways, .authorizedWhenInUse:
156   - updateWeatherView(true)
  155 + break
  156 +// case .authorizedAlways, .authorizedWhenInUse:
  157 +// updateWeatherView(true)
157 158 default:
158 159 break
159 160 }
... ... @@ -267,42 +268,42 @@ class HomeViewController: UIViewController, CLLocationManagerDelegate {
267 268 weatherArray[1].date = nowDate + 1.days
268 269 weatherArray[2].date = nowDate + 2.days
269 270 AdminHelper.shared.savaWeather(weatherArray)
270   - updateWeatherView()
271   - }
272   - }
273   -
274   - private func updateWeatherView(_ isQuery: Bool = false) {
275   - let date = DateInRegion().date
276   - weatherDateLabel.text = date.toString(.custom("yyyy/MM/dd")) + " " + date.weekText
277   - let weatherArray = AdminHelper.shared.loadLocalWeatherData()
278   - if weatherArray.count > 0, let weather = weatherArray.first {
279   - if UserInfo.temperatureUnit == 0 {
280   - weatherLabel.text = "\(LocString(weather.text)) \(weather.lowest)℃-\(weather.highest)℃"
281   - } else {
282   - weatherLabel.text = "\(LocString(weather.text)) \(Int(32+Float(weather.lowest)*1.8))℉-\(Int(32+Float(weather.highest)*1.8))℉"
283   - }
284   - weatherImageView.image = UIImage(named: weather.icon)
285   - if isQuery {
286   - if let lastDate = weather.date {
287   - if (date - lastDate).in(.hour) ?? 9 >= 8 {
288   - queryLocation()
289   - }
290   - }
291   - }
292   - } else {
293   - queryLocation()
294   - weatherLabel.text = LocString("无法获取当前天气")
295   - }
296   - }
  271 +// updateWeatherView()
  272 + }
  273 + }
  274 +
  275 +// private func updateWeatherView(_ isQuery: Bool = false) {
  276 +// let date = DateInRegion().date
  277 +// weatherDateLabel.text = date.toString(.custom("yyyy/MM/dd")) + " " + date.weekText
  278 +// let weatherArray = AdminHelper.shared.loadLocalWeatherData()
  279 +// if weatherArray.count > 0, let weather = weatherArray.first {
  280 +// if UserInfo.temperatureUnit == 0 {
  281 +// weatherLabel.text = "\(LocString(weather.text)) \(weather.lowest)℃-\(weather.highest)℃"
  282 +// } else {
  283 +// weatherLabel.text = "\(LocString(weather.text)) \(Int(32+Float(weather.lowest)*1.8))℉-\(Int(32+Float(weather.highest)*1.8))℉"
  284 +// }
  285 +// weatherImageView.image = UIImage(named: weather.icon)
  286 +// if isQuery {
  287 +// if let lastDate = weather.date {
  288 +// if (date - lastDate).in(.hour) ?? 9 >= 8 {
  289 +// queryLocation()
  290 +// }
  291 +// }
  292 +// }
  293 +// } else {
  294 +// queryLocation()
  295 +// weatherLabel.text = LocString("无法获取当前天气")
  296 +// }
  297 +// }
297 298  
298 299 private func updateConnectView(_ isConnected: Bool) {
299 300 if CurDevice.uuid == "" {
300   - bindButton.setImage(UIImage(named: "bind_device"), for: .normal)
301   - bindLabel.text = LocString("添加设备")
  301 + bindButton.setImage(UIImage(named: "add_device"), for: .normal)
  302 +// bindLabel.text = LocString("添加设备")
302 303 } else {
303 304 bindButton.setImage(UIImage(named: "device_connected"), for: .normal)
304 305  
305   - bindLabel.text = isConnected ? LocString("已连接") : LocString("已断开")
  306 +// bindLabel.text = isConnected ? LocString("已连接") : LocString("已断开")
306 307 }
307 308 }
308 309  
... ... @@ -310,24 +311,26 @@ class HomeViewController: UIViewController, CLLocationManagerDelegate {
310 311 let step = StepModel.getRecentSteps()
311 312 let goal = UserInfo.stepsGoal
312 313 stepProgressView.stepLabel.text = "\(step.number)"
313   - stepDateLabel.text = step.date?.toString(.custom("yyyy/MM/dd"))
314 314 stepProgressView.value = min(step.number*100/goal, 100)
  315 + stepProgressView.locLabel2.text = "\(LocString("目标"))\(UserInfo.stepsGoal)\(LocString("步"))"
315 316 // stepsGoalLabel.text = "/\(StepsGoal)步/\(String(format:"%.2f", step.calorie))千卡/\(String(format:"%.2f", step.distance))公里"
316 317  
317   - stepsGoalLabel.toUnitMode1(title: LocString("目标步数"), text: "\(goal)", unit: LocString("步"), font: RegularFont(13), unitFont: LightFont(11))
  318 +// stepsGoalLabel.toUnitMode1(title: LocString("目标步数"), text: "\(goal)", unit: LocString("步"), font: RegularFont(13), unitFont: LightFont(11))
318 319  
319   - stepsCalorieLabel.toUnitMode1(title: LocString("热量"), text: String(format:"%02d",Int(step.calorie)), unit: LocString("千卡"), font: RegularFont(13), unitFont: LightFont(11))
  320 +// stepsCalorieLabel.toUnitMode1(title: LocString("热量"), text: String(format:"%02d",Int(step.calorie)), unit: LocString("千卡"), font: RegularFont(13), unitFont: LightFont(11))
  321 + stepsCalorieLabel.text = "\(Int(step.calorie))"
  322 + stepsTimeLabel.text = "111"//jtd!
  323 + stepsDistanceLabel.text = "\(String(format:"%.2f", step.distance))"
320 324  
321   - if UserInfo.distanceUnit == 0 {
322   - stepsDistanceLabel.toUnitMode1(title: LocString("距离"), text: "\(String(format:"%.2f", step.distance))", unit: LocString("公里"), font: RegularFont(13), unitFont: LightFont(11))
323   - } else {
324   - stepsDistanceLabel.toUnitMode1(title: LocString("距离"), text: "\(step.distance.mileString())", unit: LocString("英里"), font: RegularFont(13), unitFont: LightFont(11))
325   - }
  325 +// if UserInfo.distanceUnit == 0 {
  326 +// stepsDistanceLabel.toUnitMode1(title: LocString("距离"), text: "\(String(format:"%.2f", step.distance))", unit: LocString("公里"), font: RegularFont(13), unitFont: LightFont(11))
  327 +// } else {
  328 +// stepsDistanceLabel.toUnitMode1(title: LocString("距离"), text: "\(step.distance.mileString())", unit: LocString("英里"), font: RegularFont(13), unitFont: LightFont(11))
  329 +// }
326 330  
327 331 if let index = collectArray.firstIndex(of: "MotionRecord") {
328 332 collectionView.reloadItems(at: [IndexPath(row: index, section: 0)])
329 333 }
330   - // print(stepDateLabel.font)
331 334 }
332 335  
333 336  
... ... @@ -387,6 +390,11 @@ class HomeViewController: UIViewController, CLLocationManagerDelegate {
387 390 }
388 391 }
389 392  
  393 + @IBAction func addDevice(_ sender: Any) {
  394 +// let shareView = ShareView(getShareImage())
  395 + // shareView.shareImage = getShareImage()
  396 +// shareView.show()
  397 + }
390 398  
391 399 @IBAction func share(_ sender: Any) {
392 400 let shareView = ShareView(getShareImage())
... ... @@ -437,7 +445,7 @@ class HomeViewController: UIViewController, CLLocationManagerDelegate {
437 445  
438 446 func reconnect() {
439 447 print("重连")
440   - if bindLabel.text == LocString("连接中...") || bindLabel.text == LocString("已断开") {
  448 + if bindLabel?.text == LocString("连接中...") || bindLabel?.text == LocString("已断开") {
441 449 BluetoothManager.shared.reConnect()
442 450 BluetoothManager.shared.reconnectPer()
443 451 } else {
... ... @@ -461,7 +469,7 @@ extension HomeViewController: BluetoothManagerDelegate {
461 469 switch state {
462 470 case 4: //power off
463 471 if CurDevice.uuid != "" {
464   - bindLabel.text = LocString("已断开")
  472 + bindLabel?.text = LocString("已断开")
465 473 }
466 474 case 5: //power on
467 475 print("home power on ??")
... ... @@ -832,10 +840,10 @@ extension HomeViewController: XMLParserDelegate {
832 840 if error == nil {
833 841 MettModel.addArray(mettArray)
834 842 }
835   - self?.setWeatherData()
  843 +// self?.setWeatherData()
836 844 }
837 845 } else {
838   - setWeatherData()
  846 +// setWeatherData()
839 847 }
840 848 }
841 849  
... ... @@ -855,15 +863,15 @@ extension HomeViewController: XMLParserDelegate {
855 863 }
856 864 }
857 865  
858   - func setWeatherData() {
859   - print("同步天气")
860   - if weatherArray.count == 0 {
861   - weatherArray = AdminHelper.shared.loadLocalWeatherData()
862   - }
863   - BluetoothManager.shared.setWeather(weatherArray) {[weak self] error in
864   - self?.getSettingData()
865   - }
866   - }
  866 +// func setWeatherData() {
  867 +// print("同步天气")
  868 +// if weatherArray.count == 0 {
  869 +// weatherArray = AdminHelper.shared.loadLocalWeatherData()
  870 +// }
  871 +// BluetoothManager.shared.setWeather(weatherArray) {[weak self] error in
  872 +// self?.getSettingData()
  873 +// }
  874 +// }
867 875  
868 876  
869 877 func queryFirmwareVersion() {
... ...