Commit e759cbb03c694dfdd25155d4319fe336d039b76d

Authored by nvtu11790@gmail.com
1 parent fcfef58783

Fix UI issue in SNS screen

Showing 10 changed files with 150 additions and 197 deletions Inline Diff

LifeLog/LifeLog/CreateGroupViewController.xib
1 <?xml version="1.0" encoding="UTF-8"?> 1 <?xml version="1.0" encoding="UTF-8"?>
2 <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="12118" systemVersion="16D32" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES"> 2 <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="12118" systemVersion="16D32" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
3 <device id="retina4_7" orientation="portrait"> 3 <device id="retina4_7" orientation="portrait">
4 <adaptation id="fullscreen"/> 4 <adaptation id="fullscreen"/>
5 </device> 5 </device>
6 <dependencies> 6 <dependencies>
7 <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12086"/> 7 <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12086"/>
8 <capability name="Aspect ratio constraints" minToolsVersion="5.1"/> 8 <capability name="Aspect ratio constraints" minToolsVersion="5.1"/>
9 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> 9 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
10 </dependencies> 10 </dependencies>
11 <objects> 11 <objects>
12 <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="CreateGroupViewController"> 12 <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="CreateGroupViewController">
13 <connections> 13 <connections>
14 <outlet property="switchBegin" destination="e63-8i-6aa" id="bbT-m6-3CV"/> 14 <outlet property="switchBegin" destination="e63-8i-6aa" id="bbT-m6-3CV"/>
15 <outlet property="switchBike" destination="fGW-Vw-PwQ" id="ncx-kP-qdd"/> 15 <outlet property="switchBike" destination="fGW-Vw-PwQ" id="ncx-kP-qdd"/>
16 <outlet property="switchGym" destination="Yga-UQ-xoU" id="rIN-kO-wmO"/> 16 <outlet property="switchGym" destination="Yga-UQ-xoU" id="rIN-kO-wmO"/>
17 <outlet property="switchRun" destination="2gX-B2-tkR" id="yak-gV-Cas"/> 17 <outlet property="switchRun" destination="2gX-B2-tkR" id="yak-gV-Cas"/>
18 <outlet property="switchStep" destination="RoR-w7-dNT" id="19b-K3-qAu"/> 18 <outlet property="switchStep" destination="RoR-w7-dNT" id="19b-K3-qAu"/>
19 <outlet property="switchWalk" destination="3xD-aH-JHl" id="OZ9-l7-Rww"/> 19 <outlet property="switchWalk" destination="3xD-aH-JHl" id="OZ9-l7-Rww"/>
20 <outlet property="textGoal" destination="hWb-vU-yVd" id="dp0-yK-P60"/> 20 <outlet property="textGoal" destination="hWb-vU-yVd" id="dp0-yK-P60"/>
21 <outlet property="textGoalBike" destination="eOi-eo-GYn" id="qfW-ns-tsM"/> 21 <outlet property="textGoalBike" destination="eOi-eo-GYn" id="qfW-ns-tsM"/>
22 <outlet property="textGoalRun" destination="3aE-uP-KLS" id="WAE-tl-O94"/> 22 <outlet property="textGoalRun" destination="3aE-uP-KLS" id="WAE-tl-O94"/>
23 <outlet property="textGoalWalk" destination="4JZ-J2-3D9" id="yHV-mB-rcn"/> 23 <outlet property="textGoalWalk" destination="4JZ-J2-3D9" id="yHV-mB-rcn"/>
24 <outlet property="textName" destination="pXO-K0-vne" id="ePQ-35-RLr"/> 24 <outlet property="textName" destination="pXO-K0-vne" id="ePQ-35-RLr"/>
25 <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> 25 <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
26 </connections> 26 </connections>
27 </placeholder> 27 </placeholder>
28 <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> 28 <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
29 <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> 29 <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT">
30 <rect key="frame" x="0.0" y="0.0" width="320" height="626"/> 30 <rect key="frame" x="0.0" y="0.0" width="320" height="626"/>
31 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> 31 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
32 <subviews> 32 <subviews>
33 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="QYv-QM-Bkk" userLabel="ViewHeader"> 33 <scrollView multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="aKu-bd-xMP" customClass="TPKeyboardAvoidingScrollView">
34 <rect key="frame" x="0.0" y="0.0" width="320" height="46"/>
35 <subviews>
36 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="コミュニティー グループ作成" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9hM-Gv-AxQ" customClass="AutoTransLabel">
37 <rect key="frame" x="0.0" y="0.0" width="320" height="46"/>
38 <fontDescription key="fontDescription" type="system" pointSize="16"/>
39 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
40 <nil key="highlightedColor"/>
41 <userDefinedRuntimeAttributes>
42 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.title"/>
43 </userDefinedRuntimeAttributes>
44 </label>
45 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="O23-Hy-4Ld">
46 <rect key="frame" x="0.0" y="5" width="70" height="36"/>
47 <constraints>
48 <constraint firstAttribute="width" constant="70" id="8vZ-Ta-Rzv"/>
49 </constraints>
50 <state key="normal" image="today_back_button"/>
51 <connections>
52 <action selector="clickBack:" destination="-1" eventType="touchUpInside" id="BO6-jx-vuO"/>
53 </connections>
54 </button>
55 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="fPg-VP-VkU">
56 <rect key="frame" x="275" y="0.0" width="45" height="46"/>
57 <constraints>
58 <constraint firstAttribute="width" constant="45" id="k1W-Oc-mRq"/>
59 </constraints>
60 <state key="normal" image="icon_menu"/>
61 </button>
62 </subviews>
63 <color key="backgroundColor" red="0.098039215690000001" green="0.098039215690000001" blue="0.098039215690000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
64 <constraints>
65 <constraint firstAttribute="trailing" secondItem="9hM-Gv-AxQ" secondAttribute="trailing" id="5f8-Xt-vKd"/>
66 <constraint firstAttribute="bottom" secondItem="9hM-Gv-AxQ" secondAttribute="bottom" id="Q3z-hF-VbV"/>
67 <constraint firstItem="9hM-Gv-AxQ" firstAttribute="top" secondItem="QYv-QM-Bkk" secondAttribute="top" id="XNi-3d-xFW"/>
68 <constraint firstItem="O23-Hy-4Ld" firstAttribute="leading" secondItem="QYv-QM-Bkk" secondAttribute="leading" id="aMc-uz-vGA"/>
69 <constraint firstItem="fPg-VP-VkU" firstAttribute="top" secondItem="QYv-QM-Bkk" secondAttribute="top" id="bLC-DU-cJf"/>
70 <constraint firstItem="9hM-Gv-AxQ" firstAttribute="leading" secondItem="QYv-QM-Bkk" secondAttribute="leading" id="cUY-dT-Rh0"/>
71 <constraint firstAttribute="trailing" secondItem="fPg-VP-VkU" secondAttribute="trailing" id="fn0-SY-e1Z"/>
72 <constraint firstAttribute="height" constant="46" id="lBP-32-aFw"/>
73 <constraint firstItem="O23-Hy-4Ld" firstAttribute="top" secondItem="QYv-QM-Bkk" secondAttribute="top" constant="5" id="ogR-c4-QQ3"/>
74 <constraint firstAttribute="bottom" secondItem="fPg-VP-VkU" secondAttribute="bottom" id="wdr-SH-Wm2"/>
75 <constraint firstAttribute="bottom" secondItem="O23-Hy-4Ld" secondAttribute="bottom" constant="5" id="yJ4-81-rJx"/>
76 </constraints>
77 </view>
78 <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="aKu-bd-xMP" customClass="TPKeyboardAvoidingScrollView">
79 <rect key="frame" x="0.0" y="46" width="320" height="580"/> 34 <rect key="frame" x="0.0" y="46" width="320" height="580"/>
80 <subviews> 35 <subviews>
81 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="9w1-87-U1W"> 36 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="9w1-87-U1W">
82 <rect key="frame" x="0.0" y="0.0" width="320" height="580"/> 37 <rect key="frame" x="0.0" y="0.0" width="320" height="580"/>
83 <subviews> 38 <subviews>
84 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="名称" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ZtU-mt-3Ov" customClass="AutoTransLabel"> 39 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="名称" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ZtU-mt-3Ov" customClass="AutoTransLabel">
85 <rect key="frame" x="8" y="10" width="70" height="30"/> 40 <rect key="frame" x="8" y="10" width="70" height="30"/>
86 <constraints> 41 <constraints>
87 <constraint firstAttribute="width" constant="70" id="Zvx-V3-7AW"/> 42 <constraint firstAttribute="width" constant="70" id="Zvx-V3-7AW"/>
88 <constraint firstAttribute="height" constant="30" id="nok-hA-mW9"/> 43 <constraint firstAttribute="height" constant="30" id="nok-hA-mW9"/>
89 </constraints> 44 </constraints>
90 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> 45 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/>
91 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 46 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
92 <nil key="highlightedColor"/> 47 <nil key="highlightedColor"/>
93 <userDefinedRuntimeAttributes> 48 <userDefinedRuntimeAttributes>
94 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.name"/> 49 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.name"/>
95 </userDefinedRuntimeAttributes> 50 </userDefinedRuntimeAttributes>
96 </label> 51 </label>
97 <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="pXO-K0-vne"> 52 <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="pXO-K0-vne">
98 <rect key="frame" x="88" y="10" width="222" height="30"/> 53 <rect key="frame" x="88" y="10" width="222" height="30"/>
99 <constraints> 54 <constraints>
100 <constraint firstAttribute="height" constant="30" id="YJe-TW-hvA"/> 55 <constraint firstAttribute="height" constant="30" id="YJe-TW-hvA"/>
101 </constraints> 56 </constraints>
102 <nil key="textColor"/> 57 <nil key="textColor"/>
103 <fontDescription key="fontDescription" type="system" pointSize="14"/> 58 <fontDescription key="fontDescription" type="system" pointSize="14"/>
104 <textInputTraits key="textInputTraits"/> 59 <textInputTraits key="textInputTraits"/>
105 <connections> 60 <connections>
106 <outlet property="delegate" destination="-1" id="3NL-Ya-JuM"/> 61 <outlet property="delegate" destination="-1" id="3NL-Ya-JuM"/>
107 </connections> 62 </connections>
108 </textField> 63 </textField>
109 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ONn-27-HqB"> 64 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ONn-27-HqB">
110 <rect key="frame" x="10" y="50" width="140" height="120"/> 65 <rect key="frame" x="10" y="50" width="140" height="120"/>
111 <subviews> 66 <subviews>
112 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="S2z-DI-pIE"> 67 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="S2z-DI-pIE">
113 <rect key="frame" x="0.0" y="0.0" width="140" height="40"/> 68 <rect key="frame" x="0.0" y="0.0" width="140" height="40"/>
114 <subviews> 69 <subviews>
115 <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="3xD-aH-JHl"> 70 <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="3xD-aH-JHl">
116 <rect key="frame" x="85" y="4" width="51" height="31"/> 71 <rect key="frame" x="85" y="4" width="51" height="31"/>
117 <constraints> 72 <constraints>
118 <constraint firstAttribute="width" secondItem="3xD-aH-JHl" secondAttribute="height" multiplier="49:31" id="7LJ-H5-oQR"/> 73 <constraint firstAttribute="width" secondItem="3xD-aH-JHl" secondAttribute="height" multiplier="49:31" id="7LJ-H5-oQR"/>
119 </constraints> 74 </constraints>
120 <color key="onTintColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> 75 <color key="onTintColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
121 </switch> 76 </switch>
122 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="WALK" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="yFv-kp-ag8" customClass="AutoTransLabel"> 77 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="WALK" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="yFv-kp-ag8" customClass="AutoTransLabel">
123 <rect key="frame" x="6" y="10.5" width="47.5" height="20.5"/> 78 <rect key="frame" x="6" y="10.5" width="47.5" height="20.5"/>
124 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> 79 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/>
125 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 80 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
126 <nil key="highlightedColor"/> 81 <nil key="highlightedColor"/>
127 <userDefinedRuntimeAttributes> 82 <userDefinedRuntimeAttributes>
128 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.walk"/> 83 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.walk"/>
129 </userDefinedRuntimeAttributes> 84 </userDefinedRuntimeAttributes>
130 </label> 85 </label>
131 </subviews> 86 </subviews>
132 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> 87 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
133 <constraints> 88 <constraints>
134 <constraint firstAttribute="trailing" secondItem="3xD-aH-JHl" secondAttribute="trailing" constant="6" id="KNe-Rx-lun"/> 89 <constraint firstAttribute="trailing" secondItem="3xD-aH-JHl" secondAttribute="trailing" constant="6" id="KNe-Rx-lun"/>
135 <constraint firstAttribute="height" constant="40" id="akz-T7-d2v"/> 90 <constraint firstAttribute="height" constant="40" id="akz-T7-d2v"/>
136 <constraint firstItem="3xD-aH-JHl" firstAttribute="centerY" secondItem="S2z-DI-pIE" secondAttribute="centerY" id="oRy-OM-Om1"/> 91 <constraint firstItem="3xD-aH-JHl" firstAttribute="centerY" secondItem="S2z-DI-pIE" secondAttribute="centerY" id="oRy-OM-Om1"/>
137 <constraint firstItem="yFv-kp-ag8" firstAttribute="leading" secondItem="S2z-DI-pIE" secondAttribute="leading" constant="6" id="prt-UF-Ori"/> 92 <constraint firstItem="yFv-kp-ag8" firstAttribute="leading" secondItem="S2z-DI-pIE" secondAttribute="leading" constant="6" id="prt-UF-Ori"/>
138 <constraint firstItem="yFv-kp-ag8" firstAttribute="centerY" secondItem="S2z-DI-pIE" secondAttribute="centerY" id="xEl-Rl-8C1"/> 93 <constraint firstItem="yFv-kp-ag8" firstAttribute="centerY" secondItem="S2z-DI-pIE" secondAttribute="centerY" id="xEl-Rl-8C1"/>
139 </constraints> 94 </constraints>
140 </view> 95 </view>
141 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="dVh-y2-XTr"> 96 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="dVh-y2-XTr">
142 <rect key="frame" x="0.0" y="40" width="140" height="40"/> 97 <rect key="frame" x="0.0" y="40" width="140" height="40"/>
143 <subviews> 98 <subviews>
144 <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="2gX-B2-tkR"> 99 <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="2gX-B2-tkR">
145 <rect key="frame" x="85" y="4" width="51" height="31"/> 100 <rect key="frame" x="85" y="4" width="51" height="31"/>
146 <constraints> 101 <constraints>
147 <constraint firstAttribute="width" secondItem="2gX-B2-tkR" secondAttribute="height" multiplier="49:31" id="pBG-Mw-aNK"/> 102 <constraint firstAttribute="width" secondItem="2gX-B2-tkR" secondAttribute="height" multiplier="49:31" id="pBG-Mw-aNK"/>
148 </constraints> 103 </constraints>
149 <color key="onTintColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> 104 <color key="onTintColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
150 </switch> 105 </switch>
151 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="RUN" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="r9v-yX-mx8" customClass="AutoTransLabel"> 106 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="RUN" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="r9v-yX-mx8" customClass="AutoTransLabel">
152 <rect key="frame" x="6" y="10.5" width="36" height="20.5"/> 107 <rect key="frame" x="6" y="10.5" width="36" height="20.5"/>
153 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> 108 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/>
154 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 109 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
155 <nil key="highlightedColor"/> 110 <nil key="highlightedColor"/>
156 <userDefinedRuntimeAttributes> 111 <userDefinedRuntimeAttributes>
157 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.run"/> 112 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.run"/>
158 </userDefinedRuntimeAttributes> 113 </userDefinedRuntimeAttributes>
159 </label> 114 </label>
160 </subviews> 115 </subviews>
161 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> 116 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
162 <constraints> 117 <constraints>
163 <constraint firstItem="2gX-B2-tkR" firstAttribute="centerY" secondItem="dVh-y2-XTr" secondAttribute="centerY" id="bNR-wC-PQG"/> 118 <constraint firstItem="2gX-B2-tkR" firstAttribute="centerY" secondItem="dVh-y2-XTr" secondAttribute="centerY" id="bNR-wC-PQG"/>
164 <constraint firstItem="r9v-yX-mx8" firstAttribute="leading" secondItem="dVh-y2-XTr" secondAttribute="leading" constant="6" id="iHM-Q7-Z1Z"/> 119 <constraint firstItem="r9v-yX-mx8" firstAttribute="leading" secondItem="dVh-y2-XTr" secondAttribute="leading" constant="6" id="iHM-Q7-Z1Z"/>
165 <constraint firstAttribute="height" constant="40" id="s8W-Ak-VrH"/> 120 <constraint firstAttribute="height" constant="40" id="s8W-Ak-VrH"/>
166 <constraint firstAttribute="trailing" secondItem="2gX-B2-tkR" secondAttribute="trailing" constant="6" id="usV-BG-oqp"/> 121 <constraint firstAttribute="trailing" secondItem="2gX-B2-tkR" secondAttribute="trailing" constant="6" id="usV-BG-oqp"/>
167 <constraint firstItem="r9v-yX-mx8" firstAttribute="centerY" secondItem="dVh-y2-XTr" secondAttribute="centerY" id="yZW-Wk-raQ"/> 122 <constraint firstItem="r9v-yX-mx8" firstAttribute="centerY" secondItem="dVh-y2-XTr" secondAttribute="centerY" id="yZW-Wk-raQ"/>
168 </constraints> 123 </constraints>
169 </view> 124 </view>
170 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="7PQ-zz-N0X"> 125 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="7PQ-zz-N0X">
171 <rect key="frame" x="0.0" y="80" width="140" height="40"/> 126 <rect key="frame" x="0.0" y="80" width="140" height="40"/>
172 <subviews> 127 <subviews>
173 <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Yga-UQ-xoU"> 128 <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Yga-UQ-xoU">
174 <rect key="frame" x="85" y="4" width="51" height="31"/> 129 <rect key="frame" x="85" y="4" width="51" height="31"/>
175 <constraints> 130 <constraints>
176 <constraint firstAttribute="width" secondItem="Yga-UQ-xoU" secondAttribute="height" multiplier="49:31" id="laB-Zs-gOj"/> 131 <constraint firstAttribute="width" secondItem="Yga-UQ-xoU" secondAttribute="height" multiplier="49:31" id="laB-Zs-gOj"/>
177 </constraints> 132 </constraints>
178 <color key="onTintColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> 133 <color key="onTintColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
179 </switch> 134 </switch>
180 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="ジム" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="EFD-Ys-PqS" customClass="AutoTransLabel"> 135 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="ジム" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="EFD-Ys-PqS" customClass="AutoTransLabel">
181 <rect key="frame" x="6" y="10.5" width="35" height="20.5"/> 136 <rect key="frame" x="6" y="10.5" width="35" height="20.5"/>
182 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> 137 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/>
183 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 138 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
184 <nil key="highlightedColor"/> 139 <nil key="highlightedColor"/>
185 <userDefinedRuntimeAttributes> 140 <userDefinedRuntimeAttributes>
186 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.gym"/> 141 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.gym"/>
187 </userDefinedRuntimeAttributes> 142 </userDefinedRuntimeAttributes>
188 </label> 143 </label>
189 </subviews> 144 </subviews>
190 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> 145 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
191 <constraints> 146 <constraints>
192 <constraint firstItem="EFD-Ys-PqS" firstAttribute="centerY" secondItem="7PQ-zz-N0X" secondAttribute="centerY" id="Ein-vC-mpy"/> 147 <constraint firstItem="EFD-Ys-PqS" firstAttribute="centerY" secondItem="7PQ-zz-N0X" secondAttribute="centerY" id="Ein-vC-mpy"/>
193 <constraint firstAttribute="height" constant="40" id="aKm-hG-Hyh"/> 148 <constraint firstAttribute="height" constant="40" id="aKm-hG-Hyh"/>
194 <constraint firstAttribute="trailing" secondItem="Yga-UQ-xoU" secondAttribute="trailing" constant="6" id="cfd-4G-1NF"/> 149 <constraint firstAttribute="trailing" secondItem="Yga-UQ-xoU" secondAttribute="trailing" constant="6" id="cfd-4G-1NF"/>
195 <constraint firstItem="EFD-Ys-PqS" firstAttribute="leading" secondItem="7PQ-zz-N0X" secondAttribute="leading" constant="6" id="ojT-rz-8oC"/> 150 <constraint firstItem="EFD-Ys-PqS" firstAttribute="leading" secondItem="7PQ-zz-N0X" secondAttribute="leading" constant="6" id="ojT-rz-8oC"/>
196 <constraint firstItem="Yga-UQ-xoU" firstAttribute="centerY" secondItem="7PQ-zz-N0X" secondAttribute="centerY" id="xYy-kb-5Sk"/> 151 <constraint firstItem="Yga-UQ-xoU" firstAttribute="centerY" secondItem="7PQ-zz-N0X" secondAttribute="centerY" id="xYy-kb-5Sk"/>
197 </constraints> 152 </constraints>
198 </view> 153 </view>
199 </subviews> 154 </subviews>
200 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> 155 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
201 <constraints> 156 <constraints>
202 <constraint firstItem="dVh-y2-XTr" firstAttribute="top" secondItem="S2z-DI-pIE" secondAttribute="bottom" id="2LH-28-ssn"/> 157 <constraint firstItem="dVh-y2-XTr" firstAttribute="top" secondItem="S2z-DI-pIE" secondAttribute="bottom" id="2LH-28-ssn"/>
203 <constraint firstItem="7PQ-zz-N0X" firstAttribute="leading" secondItem="ONn-27-HqB" secondAttribute="leading" id="6md-Y8-lIk"/> 158 <constraint firstItem="7PQ-zz-N0X" firstAttribute="leading" secondItem="ONn-27-HqB" secondAttribute="leading" id="6md-Y8-lIk"/>
204 <constraint firstAttribute="height" constant="120" id="7Tb-oJ-5eC"/> 159 <constraint firstAttribute="height" constant="120" id="7Tb-oJ-5eC"/>
205 <constraint firstItem="7PQ-zz-N0X" firstAttribute="top" secondItem="dVh-y2-XTr" secondAttribute="bottom" id="Fsa-Ai-cKQ"/> 160 <constraint firstItem="7PQ-zz-N0X" firstAttribute="top" secondItem="dVh-y2-XTr" secondAttribute="bottom" id="Fsa-Ai-cKQ"/>
206 <constraint firstAttribute="trailing" secondItem="S2z-DI-pIE" secondAttribute="trailing" id="OV6-wK-IJj"/> 161 <constraint firstAttribute="trailing" secondItem="S2z-DI-pIE" secondAttribute="trailing" id="OV6-wK-IJj"/>
207 <constraint firstItem="dVh-y2-XTr" firstAttribute="leading" secondItem="ONn-27-HqB" secondAttribute="leading" id="TFE-bH-HwH"/> 162 <constraint firstItem="dVh-y2-XTr" firstAttribute="leading" secondItem="ONn-27-HqB" secondAttribute="leading" id="TFE-bH-HwH"/>
208 <constraint firstAttribute="trailing" secondItem="dVh-y2-XTr" secondAttribute="trailing" id="Vul-EM-V8H"/> 163 <constraint firstAttribute="trailing" secondItem="dVh-y2-XTr" secondAttribute="trailing" id="Vul-EM-V8H"/>
209 <constraint firstItem="S2z-DI-pIE" firstAttribute="top" secondItem="ONn-27-HqB" secondAttribute="top" id="Yf4-Rz-E4g"/> 164 <constraint firstItem="S2z-DI-pIE" firstAttribute="top" secondItem="ONn-27-HqB" secondAttribute="top" id="Yf4-Rz-E4g"/>
210 <constraint firstAttribute="trailing" secondItem="7PQ-zz-N0X" secondAttribute="trailing" id="hLr-NV-hyv"/> 165 <constraint firstAttribute="trailing" secondItem="7PQ-zz-N0X" secondAttribute="trailing" id="hLr-NV-hyv"/>
211 <constraint firstItem="S2z-DI-pIE" firstAttribute="leading" secondItem="ONn-27-HqB" secondAttribute="leading" id="zMY-Vd-Ge9"/> 166 <constraint firstItem="S2z-DI-pIE" firstAttribute="leading" secondItem="ONn-27-HqB" secondAttribute="leading" id="zMY-Vd-Ge9"/>
212 </constraints> 167 </constraints>
213 </view> 168 </view>
214 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Kpa-HJ-7cE"> 169 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Kpa-HJ-7cE">
215 <rect key="frame" x="170" y="50" width="140" height="120"/> 170 <rect key="frame" x="170" y="50" width="140" height="120"/>
216 <subviews> 171 <subviews>
217 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ALk-sL-SXG"> 172 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ALk-sL-SXG">
218 <rect key="frame" x="0.0" y="0.0" width="140" height="40"/> 173 <rect key="frame" x="0.0" y="0.0" width="140" height="40"/>
219 <subviews> 174 <subviews>
220 <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="fGW-Vw-PwQ"> 175 <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="fGW-Vw-PwQ">
221 <rect key="frame" x="85" y="4" width="51" height="31"/> 176 <rect key="frame" x="85" y="4" width="51" height="31"/>
222 <constraints> 177 <constraints>
223 <constraint firstAttribute="width" secondItem="fGW-Vw-PwQ" secondAttribute="height" multiplier="49:31" id="qd5-Cg-6pG"/> 178 <constraint firstAttribute="width" secondItem="fGW-Vw-PwQ" secondAttribute="height" multiplier="49:31" id="qd5-Cg-6pG"/>
224 </constraints> 179 </constraints>
225 <color key="onTintColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> 180 <color key="onTintColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
226 </switch> 181 </switch>
227 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="BIKE" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="WfE-YM-vVU" customClass="AutoTransLabel"> 182 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="BIKE" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="WfE-YM-vVU" customClass="AutoTransLabel">
228 <rect key="frame" x="6" y="10.5" width="36.5" height="20.5"/> 183 <rect key="frame" x="6" y="10.5" width="36.5" height="20.5"/>
229 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> 184 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/>
230 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 185 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
231 <nil key="highlightedColor"/> 186 <nil key="highlightedColor"/>
232 <userDefinedRuntimeAttributes> 187 <userDefinedRuntimeAttributes>
233 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.bike"/> 188 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.bike"/>
234 </userDefinedRuntimeAttributes> 189 </userDefinedRuntimeAttributes>
235 </label> 190 </label>
236 </subviews> 191 </subviews>
237 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> 192 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
238 <constraints> 193 <constraints>
239 <constraint firstItem="WfE-YM-vVU" firstAttribute="leading" secondItem="ALk-sL-SXG" secondAttribute="leading" constant="6" id="7xm-U8-L7U"/> 194 <constraint firstItem="WfE-YM-vVU" firstAttribute="leading" secondItem="ALk-sL-SXG" secondAttribute="leading" constant="6" id="7xm-U8-L7U"/>
240 <constraint firstAttribute="height" constant="40" id="L4u-uj-rHa"/> 195 <constraint firstAttribute="height" constant="40" id="L4u-uj-rHa"/>
241 <constraint firstItem="fGW-Vw-PwQ" firstAttribute="centerY" secondItem="ALk-sL-SXG" secondAttribute="centerY" id="PBA-tv-gec"/> 196 <constraint firstItem="fGW-Vw-PwQ" firstAttribute="centerY" secondItem="ALk-sL-SXG" secondAttribute="centerY" id="PBA-tv-gec"/>
242 <constraint firstAttribute="trailing" secondItem="fGW-Vw-PwQ" secondAttribute="trailing" constant="6" id="bHc-Ih-6ar"/> 197 <constraint firstAttribute="trailing" secondItem="fGW-Vw-PwQ" secondAttribute="trailing" constant="6" id="bHc-Ih-6ar"/>
243 <constraint firstItem="WfE-YM-vVU" firstAttribute="centerY" secondItem="ALk-sL-SXG" secondAttribute="centerY" id="te7-Im-Oqh"/> 198 <constraint firstItem="WfE-YM-vVU" firstAttribute="centerY" secondItem="ALk-sL-SXG" secondAttribute="centerY" id="te7-Im-Oqh"/>
244 </constraints> 199 </constraints>
245 </view> 200 </view>
246 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="4Az-6N-8u4"> 201 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="4Az-6N-8u4">
247 <rect key="frame" x="0.0" y="40" width="140" height="40"/> 202 <rect key="frame" x="0.0" y="40" width="140" height="40"/>
248 <subviews> 203 <subviews>
249 <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="RoR-w7-dNT"> 204 <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="RoR-w7-dNT">
250 <rect key="frame" x="85" y="4" width="51" height="31"/> 205 <rect key="frame" x="85" y="4" width="51" height="31"/>
251 <constraints> 206 <constraints>
252 <constraint firstAttribute="width" secondItem="RoR-w7-dNT" secondAttribute="height" multiplier="49:31" id="YUz-Eh-EmZ"/> 207 <constraint firstAttribute="width" secondItem="RoR-w7-dNT" secondAttribute="height" multiplier="49:31" id="YUz-Eh-EmZ"/>
253 </constraints> 208 </constraints>
254 <color key="onTintColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> 209 <color key="onTintColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
255 </switch> 210 </switch>
256 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="STEP" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ZyO-6K-2gA" customClass="AutoTransLabel"> 211 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="STEP" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ZyO-6K-2gA" customClass="AutoTransLabel">
257 <rect key="frame" x="6" y="10.5" width="42" height="20.5"/> 212 <rect key="frame" x="6" y="10.5" width="42" height="20.5"/>
258 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> 213 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/>
259 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 214 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
260 <nil key="highlightedColor"/> 215 <nil key="highlightedColor"/>
261 <userDefinedRuntimeAttributes> 216 <userDefinedRuntimeAttributes>
262 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.step"/> 217 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.step"/>
263 </userDefinedRuntimeAttributes> 218 </userDefinedRuntimeAttributes>
264 </label> 219 </label>
265 </subviews> 220 </subviews>
266 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> 221 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
267 <constraints> 222 <constraints>
268 <constraint firstAttribute="trailing" secondItem="RoR-w7-dNT" secondAttribute="trailing" constant="6" id="Cc4-W7-Qc8"/> 223 <constraint firstAttribute="trailing" secondItem="RoR-w7-dNT" secondAttribute="trailing" constant="6" id="Cc4-W7-Qc8"/>
269 <constraint firstItem="ZyO-6K-2gA" firstAttribute="leading" secondItem="4Az-6N-8u4" secondAttribute="leading" constant="6" id="ER7-Bx-w9j"/> 224 <constraint firstItem="ZyO-6K-2gA" firstAttribute="leading" secondItem="4Az-6N-8u4" secondAttribute="leading" constant="6" id="ER7-Bx-w9j"/>
270 <constraint firstAttribute="height" constant="40" id="Kcy-ij-IsH"/> 225 <constraint firstAttribute="height" constant="40" id="Kcy-ij-IsH"/>
271 <constraint firstItem="RoR-w7-dNT" firstAttribute="centerY" secondItem="4Az-6N-8u4" secondAttribute="centerY" id="O1R-k3-iBZ"/> 226 <constraint firstItem="RoR-w7-dNT" firstAttribute="centerY" secondItem="4Az-6N-8u4" secondAttribute="centerY" id="O1R-k3-iBZ"/>
272 <constraint firstItem="ZyO-6K-2gA" firstAttribute="centerY" secondItem="4Az-6N-8u4" secondAttribute="centerY" id="fWH-tG-gSV"/> 227 <constraint firstItem="ZyO-6K-2gA" firstAttribute="centerY" secondItem="4Az-6N-8u4" secondAttribute="centerY" id="fWH-tG-gSV"/>
273 </constraints> 228 </constraints>
274 </view> 229 </view>
275 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ORZ-El-owx"> 230 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ORZ-El-owx">
276 <rect key="frame" x="0.0" y="80" width="140" height="40"/> 231 <rect key="frame" x="0.0" y="80" width="140" height="40"/>
277 <subviews> 232 <subviews>
278 <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="e63-8i-6aa"> 233 <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="e63-8i-6aa">
279 <rect key="frame" x="85" y="4" width="51" height="31"/> 234 <rect key="frame" x="85" y="4" width="51" height="31"/>
280 <constraints> 235 <constraints>
281 <constraint firstAttribute="width" secondItem="e63-8i-6aa" secondAttribute="height" multiplier="49:31" id="TTd-tM-PrG"/> 236 <constraint firstAttribute="width" secondItem="e63-8i-6aa" secondAttribute="height" multiplier="49:31" id="TTd-tM-PrG"/>
282 </constraints> 237 </constraints>
283 <color key="onTintColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> 238 <color key="onTintColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
284 </switch> 239 </switch>
285 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="初心者" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="RfO-1U-s4W" customClass="AutoTransLabel"> 240 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="初心者" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="RfO-1U-s4W" customClass="AutoTransLabel">
286 <rect key="frame" x="6" y="10.5" width="52" height="20.5"/> 241 <rect key="frame" x="6" y="10.5" width="52" height="20.5"/>
287 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> 242 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/>
288 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 243 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
289 <nil key="highlightedColor"/> 244 <nil key="highlightedColor"/>
290 <userDefinedRuntimeAttributes> 245 <userDefinedRuntimeAttributes>
291 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.begin"/> 246 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.begin"/>
292 </userDefinedRuntimeAttributes> 247 </userDefinedRuntimeAttributes>
293 </label> 248 </label>
294 </subviews> 249 </subviews>
295 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> 250 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
296 <constraints> 251 <constraints>
297 <constraint firstItem="RfO-1U-s4W" firstAttribute="leading" secondItem="ORZ-El-owx" secondAttribute="leading" constant="6" id="5Vq-B2-215"/> 252 <constraint firstItem="RfO-1U-s4W" firstAttribute="leading" secondItem="ORZ-El-owx" secondAttribute="leading" constant="6" id="5Vq-B2-215"/>
298 <constraint firstAttribute="trailing" secondItem="e63-8i-6aa" secondAttribute="trailing" constant="6" id="NUX-0H-z8v"/> 253 <constraint firstAttribute="trailing" secondItem="e63-8i-6aa" secondAttribute="trailing" constant="6" id="NUX-0H-z8v"/>
299 <constraint firstAttribute="height" constant="40" id="PdI-3J-BTC"/> 254 <constraint firstAttribute="height" constant="40" id="PdI-3J-BTC"/>
300 <constraint firstItem="e63-8i-6aa" firstAttribute="centerY" secondItem="ORZ-El-owx" secondAttribute="centerY" id="Vxw-Vk-POY"/> 255 <constraint firstItem="e63-8i-6aa" firstAttribute="centerY" secondItem="ORZ-El-owx" secondAttribute="centerY" id="Vxw-Vk-POY"/>
301 <constraint firstItem="RfO-1U-s4W" firstAttribute="centerY" secondItem="ORZ-El-owx" secondAttribute="centerY" id="tX1-Qb-pKG"/> 256 <constraint firstItem="RfO-1U-s4W" firstAttribute="centerY" secondItem="ORZ-El-owx" secondAttribute="centerY" id="tX1-Qb-pKG"/>
302 </constraints> 257 </constraints>
303 </view> 258 </view>
304 </subviews> 259 </subviews>
305 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> 260 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
306 <constraints> 261 <constraints>
307 <constraint firstAttribute="height" constant="120" id="1Z3-Ap-Qv1"/> 262 <constraint firstAttribute="height" constant="120" id="1Z3-Ap-Qv1"/>
308 <constraint firstAttribute="trailing" secondItem="ALk-sL-SXG" secondAttribute="trailing" id="2DO-V0-pH1"/> 263 <constraint firstAttribute="trailing" secondItem="ALk-sL-SXG" secondAttribute="trailing" id="2DO-V0-pH1"/>
309 <constraint firstItem="ORZ-El-owx" firstAttribute="top" secondItem="4Az-6N-8u4" secondAttribute="bottom" id="9ap-NH-2HO"/> 264 <constraint firstItem="ORZ-El-owx" firstAttribute="top" secondItem="4Az-6N-8u4" secondAttribute="bottom" id="9ap-NH-2HO"/>
310 <constraint firstItem="ALk-sL-SXG" firstAttribute="top" secondItem="Kpa-HJ-7cE" secondAttribute="top" id="Lc0-Xq-rka"/> 265 <constraint firstItem="ALk-sL-SXG" firstAttribute="top" secondItem="Kpa-HJ-7cE" secondAttribute="top" id="Lc0-Xq-rka"/>
311 <constraint firstItem="4Az-6N-8u4" firstAttribute="leading" secondItem="Kpa-HJ-7cE" secondAttribute="leading" id="PVG-jU-N5c"/> 266 <constraint firstItem="4Az-6N-8u4" firstAttribute="leading" secondItem="Kpa-HJ-7cE" secondAttribute="leading" id="PVG-jU-N5c"/>
312 <constraint firstAttribute="trailing" secondItem="ORZ-El-owx" secondAttribute="trailing" id="WYz-Kv-H08"/> 267 <constraint firstAttribute="trailing" secondItem="ORZ-El-owx" secondAttribute="trailing" id="WYz-Kv-H08"/>
313 <constraint firstItem="ORZ-El-owx" firstAttribute="leading" secondItem="Kpa-HJ-7cE" secondAttribute="leading" id="a7E-Je-SkO"/> 268 <constraint firstItem="ORZ-El-owx" firstAttribute="leading" secondItem="Kpa-HJ-7cE" secondAttribute="leading" id="a7E-Je-SkO"/>
314 <constraint firstAttribute="bottom" secondItem="ORZ-El-owx" secondAttribute="bottom" id="dr5-Tk-AAg"/> 269 <constraint firstAttribute="bottom" secondItem="ORZ-El-owx" secondAttribute="bottom" id="dr5-Tk-AAg"/>
315 <constraint firstAttribute="trailing" secondItem="4Az-6N-8u4" secondAttribute="trailing" id="wOX-wa-25X"/> 270 <constraint firstAttribute="trailing" secondItem="4Az-6N-8u4" secondAttribute="trailing" id="wOX-wa-25X"/>
316 <constraint firstItem="4Az-6N-8u4" firstAttribute="top" secondItem="ALk-sL-SXG" secondAttribute="bottom" id="xgc-3W-TS2"/> 271 <constraint firstItem="4Az-6N-8u4" firstAttribute="top" secondItem="ALk-sL-SXG" secondAttribute="bottom" id="xgc-3W-TS2"/>
317 <constraint firstItem="ALk-sL-SXG" firstAttribute="leading" secondItem="Kpa-HJ-7cE" secondAttribute="leading" id="yrE-eZ-Vg4"/> 272 <constraint firstItem="ALk-sL-SXG" firstAttribute="leading" secondItem="Kpa-HJ-7cE" secondAttribute="leading" id="yrE-eZ-Vg4"/>
318 </constraints> 273 </constraints>
319 </view> 274 </view>
320 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="目標" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="KTY-Ed-NJL" customClass="AutoTransLabel"> 275 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="目標" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="KTY-Ed-NJL" customClass="AutoTransLabel">
321 <rect key="frame" x="10" y="178" width="70" height="30"/> 276 <rect key="frame" x="10" y="178" width="70" height="30"/>
322 <constraints> 277 <constraints>
323 <constraint firstAttribute="width" constant="70" id="Zlu-jK-x6p"/> 278 <constraint firstAttribute="width" constant="70" id="Zlu-jK-x6p"/>
324 <constraint firstAttribute="height" constant="30" id="tVk-5e-QAY"/> 279 <constraint firstAttribute="height" constant="30" id="tVk-5e-QAY"/>
325 </constraints> 280 </constraints>
326 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> 281 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/>
327 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 282 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
328 <nil key="highlightedColor"/> 283 <nil key="highlightedColor"/>
329 <userDefinedRuntimeAttributes> 284 <userDefinedRuntimeAttributes>
330 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.goal"/> 285 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.goal"/>
331 </userDefinedRuntimeAttributes> 286 </userDefinedRuntimeAttributes>
332 </label> 287 </label>
333 <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="hWb-vU-yVd"> 288 <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="hWb-vU-yVd">
334 <rect key="frame" x="88" y="178" width="222" height="120"/> 289 <rect key="frame" x="88" y="178" width="222" height="120"/>
335 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 290 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
336 <constraints> 291 <constraints>
337 <constraint firstAttribute="height" constant="120" id="iYo-mA-ZGR"/> 292 <constraint firstAttribute="height" constant="120" id="iYo-mA-ZGR"/>
338 </constraints> 293 </constraints>
339 <fontDescription key="fontDescription" type="system" pointSize="14"/> 294 <fontDescription key="fontDescription" type="system" pointSize="14"/>
340 <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/> 295 <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
341 <userDefinedRuntimeAttributes> 296 <userDefinedRuntimeAttributes>
342 <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> 297 <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
343 <integer key="value" value="10"/> 298 <integer key="value" value="10"/>
344 </userDefinedRuntimeAttribute> 299 </userDefinedRuntimeAttribute>
345 </userDefinedRuntimeAttributes> 300 </userDefinedRuntimeAttributes>
346 <connections> 301 <connections>
347 <outlet property="delegate" destination="-1" id="fVh-oh-7St"/> 302 <outlet property="delegate" destination="-1" id="fVh-oh-7St"/>
348 </connections> 303 </connections>
349 </textView> 304 </textView>
350 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="マップ" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qdi-Na-zsj" customClass="AutoTransLabel"> 305 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="マップ" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qdi-Na-zsj" customClass="AutoTransLabel">
351 <rect key="frame" x="10" y="313" width="70" height="30"/> 306 <rect key="frame" x="10" y="313" width="70" height="30"/>
352 <constraints> 307 <constraints>
353 <constraint firstAttribute="height" constant="30" id="Ptf-0N-ewh"/> 308 <constraint firstAttribute="height" constant="30" id="Ptf-0N-ewh"/>
354 <constraint firstAttribute="width" constant="70" id="mT3-FA-eev"/> 309 <constraint firstAttribute="width" constant="70" id="mT3-FA-eev"/>
355 </constraints> 310 </constraints>
356 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> 311 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/>
357 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 312 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
358 <nil key="highlightedColor"/> 313 <nil key="highlightedColor"/>
359 <userDefinedRuntimeAttributes> 314 <userDefinedRuntimeAttributes>
360 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.map"/> 315 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.map"/>
361 </userDefinedRuntimeAttributes> 316 </userDefinedRuntimeAttributes>
362 </label> 317 </label>
363 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="1日目標" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qfU-7x-uss" customClass="AutoTransLabel"> 318 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="1日目標" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qfU-7x-uss" customClass="AutoTransLabel">
364 <rect key="frame" x="10" y="353" width="300" height="30"/> 319 <rect key="frame" x="10" y="353" width="300" height="30"/>
365 <constraints> 320 <constraints>
366 <constraint firstAttribute="height" constant="30" id="9dB-8p-Wdv"/> 321 <constraint firstAttribute="height" constant="30" id="9dB-8p-Wdv"/>
367 </constraints> 322 </constraints>
368 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> 323 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/>
369 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 324 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
370 <nil key="highlightedColor"/> 325 <nil key="highlightedColor"/>
371 <userDefinedRuntimeAttributes> 326 <userDefinedRuntimeAttributes>
372 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.goal1day"/> 327 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.goal1day"/>
373 </userDefinedRuntimeAttributes> 328 </userDefinedRuntimeAttributes>
374 </label> 329 </label>
375 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="KEy-T1-mdK" customClass="AutoTransButton"> 330 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="KEy-T1-mdK" customClass="AutoTransButton">
376 <rect key="frame" x="88" y="313" width="110" height="30"/> 331 <rect key="frame" x="88" y="313" width="110" height="30"/>
377 <color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/> 332 <color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/>
378 <constraints> 333 <constraints>
379 <constraint firstAttribute="height" constant="30" id="MWc-Aj-2JZ"/> 334 <constraint firstAttribute="height" constant="30" id="MWc-Aj-2JZ"/>
380 <constraint firstAttribute="width" constant="110" id="V16-pC-FRv"/> 335 <constraint firstAttribute="width" constant="110" id="V16-pC-FRv"/>
381 </constraints> 336 </constraints>
382 <state key="normal" title="マップ作成"> 337 <state key="normal" title="マップ作成">
383 <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 338 <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
384 </state> 339 </state>
385 <userDefinedRuntimeAttributes> 340 <userDefinedRuntimeAttributes>
386 <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> 341 <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
387 <integer key="value" value="5"/> 342 <integer key="value" value="5"/>
388 </userDefinedRuntimeAttribute> 343 </userDefinedRuntimeAttribute>
389 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.bt.map"/> 344 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.bt.map"/>
390 </userDefinedRuntimeAttributes> 345 </userDefinedRuntimeAttributes>
391 </button> 346 </button>
392 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="WALK" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3QV-Ov-PmX" customClass="AutoTransLabel"> 347 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="WALK" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3QV-Ov-PmX" customClass="AutoTransLabel">
393 <rect key="frame" x="10" y="391" width="70" height="30"/> 348 <rect key="frame" x="10" y="391" width="70" height="30"/>
394 <constraints> 349 <constraints>
395 <constraint firstAttribute="height" constant="30" id="GSj-Tq-AsU"/> 350 <constraint firstAttribute="height" constant="30" id="GSj-Tq-AsU"/>
396 <constraint firstAttribute="width" constant="70" id="uIv-Ty-eR2"/> 351 <constraint firstAttribute="width" constant="70" id="uIv-Ty-eR2"/>
397 </constraints> 352 </constraints>
398 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> 353 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/>
399 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 354 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
400 <nil key="highlightedColor"/> 355 <nil key="highlightedColor"/>
401 <userDefinedRuntimeAttributes> 356 <userDefinedRuntimeAttributes>
402 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.walk"/> 357 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.walk"/>
403 </userDefinedRuntimeAttributes> 358 </userDefinedRuntimeAttributes>
404 </label> 359 </label>
405 <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="4JZ-J2-3D9"> 360 <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="4JZ-J2-3D9">
406 <rect key="frame" x="95" y="391" width="130" height="30"/> 361 <rect key="frame" x="95" y="391" width="130" height="30"/>
407 <constraints> 362 <constraints>
408 <constraint firstAttribute="height" constant="30" id="JaF-D4-zT2"/> 363 <constraint firstAttribute="height" constant="30" id="JaF-D4-zT2"/>
409 <constraint firstAttribute="width" constant="130" id="qCj-P5-l4y"/> 364 <constraint firstAttribute="width" constant="130" id="qCj-P5-l4y"/>
410 </constraints> 365 </constraints>
411 <nil key="textColor"/> 366 <nil key="textColor"/>
412 <fontDescription key="fontDescription" type="system" pointSize="14"/> 367 <fontDescription key="fontDescription" type="system" pointSize="14"/>
413 <textInputTraits key="textInputTraits" keyboardType="numberPad"/> 368 <textInputTraits key="textInputTraits" keyboardType="numberPad"/>
414 </textField> 369 </textField>
415 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="m" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="o9b-Am-GTl"> 370 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="m" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="o9b-Am-GTl">
416 <rect key="frame" x="240" y="391" width="70" height="30"/> 371 <rect key="frame" x="240" y="391" width="70" height="30"/>
417 <constraints> 372 <constraints>
418 <constraint firstAttribute="width" constant="70" id="MN1-fg-mf1"/> 373 <constraint firstAttribute="width" constant="70" id="MN1-fg-mf1"/>
419 <constraint firstAttribute="height" constant="30" id="l7E-J3-Syw"/> 374 <constraint firstAttribute="height" constant="30" id="l7E-J3-Syw"/>
420 </constraints> 375 </constraints>
421 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> 376 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/>
422 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 377 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
423 <nil key="highlightedColor"/> 378 <nil key="highlightedColor"/>
424 <userDefinedRuntimeAttributes> 379 <userDefinedRuntimeAttributes>
425 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.name"/> 380 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.name"/>
426 </userDefinedRuntimeAttributes> 381 </userDefinedRuntimeAttributes>
427 </label> 382 </label>
428 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="RUN" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bq4-nh-Cxk" customClass="AutoTransLabel"> 383 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="RUN" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bq4-nh-Cxk" customClass="AutoTransLabel">
429 <rect key="frame" x="10" y="429" width="70" height="30"/> 384 <rect key="frame" x="10" y="429" width="70" height="30"/>
430 <constraints> 385 <constraints>
431 <constraint firstAttribute="height" constant="30" id="MmK-Nk-eFt"/> 386 <constraint firstAttribute="height" constant="30" id="MmK-Nk-eFt"/>
432 <constraint firstAttribute="width" constant="70" id="nuP-fj-jk2"/> 387 <constraint firstAttribute="width" constant="70" id="nuP-fj-jk2"/>
433 </constraints> 388 </constraints>
434 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> 389 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/>
435 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 390 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
436 <nil key="highlightedColor"/> 391 <nil key="highlightedColor"/>
437 <userDefinedRuntimeAttributes> 392 <userDefinedRuntimeAttributes>
438 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.run"/> 393 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.run"/>
439 </userDefinedRuntimeAttributes> 394 </userDefinedRuntimeAttributes>
440 </label> 395 </label>
441 <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="3aE-uP-KLS"> 396 <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="3aE-uP-KLS">
442 <rect key="frame" x="95" y="429" width="130" height="30"/> 397 <rect key="frame" x="95" y="429" width="130" height="30"/>
443 <constraints> 398 <constraints>
444 <constraint firstAttribute="height" constant="30" id="37e-2c-qka"/> 399 <constraint firstAttribute="height" constant="30" id="37e-2c-qka"/>
445 <constraint firstAttribute="width" constant="130" id="owG-Ob-QnB"/> 400 <constraint firstAttribute="width" constant="130" id="owG-Ob-QnB"/>
446 </constraints> 401 </constraints>
447 <nil key="textColor"/> 402 <nil key="textColor"/>
448 <fontDescription key="fontDescription" type="system" pointSize="14"/> 403 <fontDescription key="fontDescription" type="system" pointSize="14"/>
449 <textInputTraits key="textInputTraits" keyboardType="numberPad"/> 404 <textInputTraits key="textInputTraits" keyboardType="numberPad"/>
450 </textField> 405 </textField>
451 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="m" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="CGA-Xm-2ll"> 406 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="m" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="CGA-Xm-2ll">
452 <rect key="frame" x="240" y="429" width="70" height="30"/> 407 <rect key="frame" x="240" y="429" width="70" height="30"/>
453 <constraints> 408 <constraints>
454 <constraint firstAttribute="width" constant="70" id="6cf-Y6-Dwq"/> 409 <constraint firstAttribute="width" constant="70" id="6cf-Y6-Dwq"/>
455 <constraint firstAttribute="height" constant="30" id="dHv-kM-AX2"/> 410 <constraint firstAttribute="height" constant="30" id="dHv-kM-AX2"/>
456 </constraints> 411 </constraints>
457 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> 412 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/>
458 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 413 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
459 <nil key="highlightedColor"/> 414 <nil key="highlightedColor"/>
460 <userDefinedRuntimeAttributes> 415 <userDefinedRuntimeAttributes>
461 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.name"/> 416 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.name"/>
462 </userDefinedRuntimeAttributes> 417 </userDefinedRuntimeAttributes>
463 </label> 418 </label>
464 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="BIKE" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="mvZ-9L-7a8" customClass="AutoTransLabel"> 419 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="BIKE" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="mvZ-9L-7a8" customClass="AutoTransLabel">
465 <rect key="frame" x="10" y="467" width="70" height="30"/> 420 <rect key="frame" x="10" y="467" width="70" height="30"/>
466 <constraints> 421 <constraints>
467 <constraint firstAttribute="height" constant="30" id="hX2-SJ-SMG"/> 422 <constraint firstAttribute="height" constant="30" id="hX2-SJ-SMG"/>
468 <constraint firstAttribute="width" constant="70" id="roN-jL-tXp"/> 423 <constraint firstAttribute="width" constant="70" id="roN-jL-tXp"/>
469 </constraints> 424 </constraints>
470 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> 425 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/>
471 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 426 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
472 <nil key="highlightedColor"/> 427 <nil key="highlightedColor"/>
473 <userDefinedRuntimeAttributes> 428 <userDefinedRuntimeAttributes>
474 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.bike"/> 429 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.bike"/>
475 </userDefinedRuntimeAttributes> 430 </userDefinedRuntimeAttributes>
476 </label> 431 </label>
477 <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="eOi-eo-GYn"> 432 <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="eOi-eo-GYn">
478 <rect key="frame" x="95" y="467" width="130" height="30"/> 433 <rect key="frame" x="95" y="467" width="130" height="30"/>
479 <constraints> 434 <constraints>
480 <constraint firstAttribute="width" constant="130" id="SBb-jw-NHP"/> 435 <constraint firstAttribute="width" constant="130" id="SBb-jw-NHP"/>
481 <constraint firstAttribute="height" constant="30" id="ida-Ih-wRM"/> 436 <constraint firstAttribute="height" constant="30" id="ida-Ih-wRM"/>
482 </constraints> 437 </constraints>
483 <nil key="textColor"/> 438 <nil key="textColor"/>
484 <fontDescription key="fontDescription" type="system" pointSize="14"/> 439 <fontDescription key="fontDescription" type="system" pointSize="14"/>
485 <textInputTraits key="textInputTraits" keyboardType="numberPad"/> 440 <textInputTraits key="textInputTraits" keyboardType="numberPad"/>
486 </textField> 441 </textField>
487 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="m" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="t6i-sV-ycx"> 442 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="m" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="t6i-sV-ycx">
488 <rect key="frame" x="240" y="467" width="70" height="30"/> 443 <rect key="frame" x="240" y="467" width="70" height="30"/>
489 <constraints> 444 <constraints>
490 <constraint firstAttribute="width" constant="70" id="DoG-hb-QbI"/> 445 <constraint firstAttribute="width" constant="70" id="DoG-hb-QbI"/>
491 <constraint firstAttribute="height" constant="30" id="pAs-GK-YE3"/> 446 <constraint firstAttribute="height" constant="30" id="pAs-GK-YE3"/>
492 </constraints> 447 </constraints>
493 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> 448 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/>
494 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 449 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
495 <nil key="highlightedColor"/> 450 <nil key="highlightedColor"/>
496 <userDefinedRuntimeAttributes> 451 <userDefinedRuntimeAttributes>
497 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.name"/> 452 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.name"/>
498 </userDefinedRuntimeAttributes> 453 </userDefinedRuntimeAttributes>
499 </label> 454 </label>
500 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="sef-8T-0hQ" customClass="AutoTransButton"> 455 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="sef-8T-0hQ" customClass="AutoTransButton">
501 <rect key="frame" x="10" y="509" width="300" height="30"/> 456 <rect key="frame" x="10" y="509" width="300" height="30"/>
502 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 457 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
503 <constraints> 458 <constraints>
504 <constraint firstAttribute="height" constant="30" id="8XP-Y1-hlJ"/> 459 <constraint firstAttribute="height" constant="30" id="8XP-Y1-hlJ"/>
505 </constraints> 460 </constraints>
506 <state key="normal" title="グループを作成する"> 461 <state key="normal" title="グループを作成する">
507 <color key="titleColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> 462 <color key="titleColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
508 </state> 463 </state>
509 <userDefinedRuntimeAttributes> 464 <userDefinedRuntimeAttributes>
510 <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> 465 <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
511 <integer key="value" value="5"/> 466 <integer key="value" value="5"/>
512 </userDefinedRuntimeAttribute> 467 </userDefinedRuntimeAttribute>
513 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.bt.createGr"/> 468 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.bt.createGr"/>
514 </userDefinedRuntimeAttributes> 469 </userDefinedRuntimeAttributes>
515 <connections> 470 <connections>
516 <action selector="clickCreateGroup:" destination="-1" eventType="touchUpInside" id="n8x-KR-til"/> 471 <action selector="clickCreateGroup:" destination="-1" eventType="touchUpInside" id="n8x-KR-til"/>
517 </connections> 472 </connections>
518 </button> 473 </button>
519 </subviews> 474 </subviews>
520 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> 475 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
521 <constraints> 476 <constraints>
522 <constraint firstItem="KTY-Ed-NJL" firstAttribute="leading" secondItem="9w1-87-U1W" secondAttribute="leading" constant="10" id="08M-tc-J6o"/> 477 <constraint firstItem="KTY-Ed-NJL" firstAttribute="leading" secondItem="9w1-87-U1W" secondAttribute="leading" constant="10" id="08M-tc-J6o"/>
523 <constraint firstItem="3QV-Ov-PmX" firstAttribute="leading" secondItem="qfU-7x-uss" secondAttribute="leading" id="1CN-mt-xv7"/> 478 <constraint firstItem="3QV-Ov-PmX" firstAttribute="leading" secondItem="qfU-7x-uss" secondAttribute="leading" id="1CN-mt-xv7"/>
524 <constraint firstItem="3aE-uP-KLS" firstAttribute="top" secondItem="bq4-nh-Cxk" secondAttribute="top" id="1YH-oa-gPy"/> 479 <constraint firstItem="3aE-uP-KLS" firstAttribute="top" secondItem="bq4-nh-Cxk" secondAttribute="top" id="1YH-oa-gPy"/>
525 <constraint firstAttribute="trailing" secondItem="qfU-7x-uss" secondAttribute="trailing" constant="10" id="1fh-fC-Tvd"/> 480 <constraint firstAttribute="trailing" secondItem="qfU-7x-uss" secondAttribute="trailing" constant="10" id="1fh-fC-Tvd"/>
526 <constraint firstItem="t6i-sV-ycx" firstAttribute="leading" secondItem="eOi-eo-GYn" secondAttribute="trailing" constant="15" id="2d5-8C-v4q"/> 481 <constraint firstItem="t6i-sV-ycx" firstAttribute="leading" secondItem="eOi-eo-GYn" secondAttribute="trailing" constant="15" id="2d5-8C-v4q"/>
527 <constraint firstItem="4JZ-J2-3D9" firstAttribute="top" secondItem="3QV-Ov-PmX" secondAttribute="top" id="2rO-Pd-t8O"/> 482 <constraint firstItem="4JZ-J2-3D9" firstAttribute="top" secondItem="3QV-Ov-PmX" secondAttribute="top" id="2rO-Pd-t8O"/>
528 <constraint firstItem="t6i-sV-ycx" firstAttribute="top" secondItem="mvZ-9L-7a8" secondAttribute="top" id="4rc-co-XRr"/> 483 <constraint firstItem="t6i-sV-ycx" firstAttribute="top" secondItem="mvZ-9L-7a8" secondAttribute="top" id="4rc-co-XRr"/>
529 <constraint firstAttribute="trailing" secondItem="sef-8T-0hQ" secondAttribute="trailing" constant="10" id="89W-o8-uLa"/> 484 <constraint firstAttribute="trailing" secondItem="sef-8T-0hQ" secondAttribute="trailing" constant="10" id="89W-o8-uLa"/>
530 <constraint firstItem="qdi-Na-zsj" firstAttribute="leading" secondItem="9w1-87-U1W" secondAttribute="leading" constant="10" id="8Cr-Gt-ts7"/> 485 <constraint firstItem="qdi-Na-zsj" firstAttribute="leading" secondItem="9w1-87-U1W" secondAttribute="leading" constant="10" id="8Cr-Gt-ts7"/>
531 <constraint firstItem="ZtU-mt-3Ov" firstAttribute="leading" secondItem="9w1-87-U1W" secondAttribute="leading" constant="8" id="8QA-ZH-zig"/> 486 <constraint firstItem="ZtU-mt-3Ov" firstAttribute="leading" secondItem="9w1-87-U1W" secondAttribute="leading" constant="8" id="8QA-ZH-zig"/>
532 <constraint firstItem="KTY-Ed-NJL" firstAttribute="top" secondItem="ONn-27-HqB" secondAttribute="bottom" constant="8" id="8cI-hb-3IU"/> 487 <constraint firstItem="KTY-Ed-NJL" firstAttribute="top" secondItem="ONn-27-HqB" secondAttribute="bottom" constant="8" id="8cI-hb-3IU"/>
533 <constraint firstItem="CGA-Xm-2ll" firstAttribute="leading" secondItem="3aE-uP-KLS" secondAttribute="trailing" constant="15" id="AJD-KP-oLm"/> 488 <constraint firstItem="CGA-Xm-2ll" firstAttribute="leading" secondItem="3aE-uP-KLS" secondAttribute="trailing" constant="15" id="AJD-KP-oLm"/>
534 <constraint firstItem="qfU-7x-uss" firstAttribute="leading" secondItem="9w1-87-U1W" secondAttribute="leading" constant="10" id="Akh-2h-Y5Z"/> 489 <constraint firstItem="qfU-7x-uss" firstAttribute="leading" secondItem="9w1-87-U1W" secondAttribute="leading" constant="10" id="Akh-2h-Y5Z"/>
535 <constraint firstItem="mvZ-9L-7a8" firstAttribute="leading" secondItem="qfU-7x-uss" secondAttribute="leading" id="CyJ-DC-cmk"/> 490 <constraint firstItem="mvZ-9L-7a8" firstAttribute="leading" secondItem="qfU-7x-uss" secondAttribute="leading" id="CyJ-DC-cmk"/>
536 <constraint firstAttribute="trailing" secondItem="hWb-vU-yVd" secondAttribute="trailing" constant="10" id="Gpv-Cf-wmA"/> 491 <constraint firstAttribute="trailing" secondItem="hWb-vU-yVd" secondAttribute="trailing" constant="10" id="Gpv-Cf-wmA"/>
537 <constraint firstItem="ONn-27-HqB" firstAttribute="leading" secondItem="9w1-87-U1W" secondAttribute="leading" constant="10" id="GqQ-jG-2Ss"/> 492 <constraint firstItem="ONn-27-HqB" firstAttribute="leading" secondItem="9w1-87-U1W" secondAttribute="leading" constant="10" id="GqQ-jG-2Ss"/>
538 <constraint firstItem="Kpa-HJ-7cE" firstAttribute="top" secondItem="ONn-27-HqB" secondAttribute="top" id="I8B-QJ-8Kw"/> 493 <constraint firstItem="Kpa-HJ-7cE" firstAttribute="top" secondItem="ONn-27-HqB" secondAttribute="top" id="I8B-QJ-8Kw"/>
539 <constraint firstItem="ONn-27-HqB" firstAttribute="top" secondItem="pXO-K0-vne" secondAttribute="bottom" constant="10" id="IUV-iX-zqx"/> 494 <constraint firstItem="ONn-27-HqB" firstAttribute="top" secondItem="pXO-K0-vne" secondAttribute="bottom" constant="10" id="IUV-iX-zqx"/>
540 <constraint firstItem="pXO-K0-vne" firstAttribute="leading" secondItem="ZtU-mt-3Ov" secondAttribute="trailing" constant="10" id="JQi-T2-HRB"/> 495 <constraint firstItem="pXO-K0-vne" firstAttribute="leading" secondItem="ZtU-mt-3Ov" secondAttribute="trailing" constant="10" id="JQi-T2-HRB"/>
541 <constraint firstItem="o9b-Am-GTl" firstAttribute="top" secondItem="3QV-Ov-PmX" secondAttribute="top" id="Osm-tS-nSE"/> 496 <constraint firstItem="o9b-Am-GTl" firstAttribute="top" secondItem="3QV-Ov-PmX" secondAttribute="top" id="Osm-tS-nSE"/>
542 <constraint firstItem="sef-8T-0hQ" firstAttribute="top" secondItem="t6i-sV-ycx" secondAttribute="bottom" constant="12" id="PNY-xc-4go"/> 497 <constraint firstItem="sef-8T-0hQ" firstAttribute="top" secondItem="t6i-sV-ycx" secondAttribute="bottom" constant="12" id="PNY-xc-4go"/>
543 <constraint firstItem="3aE-uP-KLS" firstAttribute="leading" secondItem="bq4-nh-Cxk" secondAttribute="trailing" constant="15" id="QhW-Vx-RNc"/> 498 <constraint firstItem="3aE-uP-KLS" firstAttribute="leading" secondItem="bq4-nh-Cxk" secondAttribute="trailing" constant="15" id="QhW-Vx-RNc"/>
544 <constraint firstItem="mvZ-9L-7a8" firstAttribute="top" secondItem="bq4-nh-Cxk" secondAttribute="bottom" constant="8" id="Qu7-jT-zZM"/> 499 <constraint firstItem="mvZ-9L-7a8" firstAttribute="top" secondItem="bq4-nh-Cxk" secondAttribute="bottom" constant="8" id="Qu7-jT-zZM"/>
545 <constraint firstItem="qdi-Na-zsj" firstAttribute="top" secondItem="KTY-Ed-NJL" secondAttribute="bottom" constant="105" id="Rbx-GC-D0X"/> 500 <constraint firstItem="qdi-Na-zsj" firstAttribute="top" secondItem="KTY-Ed-NJL" secondAttribute="bottom" constant="105" id="Rbx-GC-D0X"/>
546 <constraint firstItem="eOi-eo-GYn" firstAttribute="leading" secondItem="mvZ-9L-7a8" secondAttribute="trailing" constant="15" id="Rcg-h2-Qfa"/> 501 <constraint firstItem="eOi-eo-GYn" firstAttribute="leading" secondItem="mvZ-9L-7a8" secondAttribute="trailing" constant="15" id="Rcg-h2-Qfa"/>
547 <constraint firstItem="pXO-K0-vne" firstAttribute="top" secondItem="ZtU-mt-3Ov" secondAttribute="top" id="T8M-OQ-0Wk"/> 502 <constraint firstItem="pXO-K0-vne" firstAttribute="top" secondItem="ZtU-mt-3Ov" secondAttribute="top" id="T8M-OQ-0Wk"/>
548 <constraint firstItem="o9b-Am-GTl" firstAttribute="leading" secondItem="4JZ-J2-3D9" secondAttribute="trailing" constant="15" id="UyE-qx-Mtp"/> 503 <constraint firstItem="o9b-Am-GTl" firstAttribute="leading" secondItem="4JZ-J2-3D9" secondAttribute="trailing" constant="15" id="UyE-qx-Mtp"/>
549 <constraint firstItem="4JZ-J2-3D9" firstAttribute="top" secondItem="3QV-Ov-PmX" secondAttribute="top" id="aRK-i9-XKN"/> 504 <constraint firstItem="4JZ-J2-3D9" firstAttribute="top" secondItem="3QV-Ov-PmX" secondAttribute="top" id="aRK-i9-XKN"/>
550 <constraint firstItem="hWb-vU-yVd" firstAttribute="top" secondItem="Kpa-HJ-7cE" secondAttribute="bottom" constant="8" id="chw-2w-QOv"/> 505 <constraint firstItem="hWb-vU-yVd" firstAttribute="top" secondItem="Kpa-HJ-7cE" secondAttribute="bottom" constant="8" id="chw-2w-QOv"/>
551 <constraint firstItem="sef-8T-0hQ" firstAttribute="leading" secondItem="9w1-87-U1W" secondAttribute="leading" constant="10" id="dfN-4U-9Oc"/> 506 <constraint firstItem="sef-8T-0hQ" firstAttribute="leading" secondItem="9w1-87-U1W" secondAttribute="leading" constant="10" id="dfN-4U-9Oc"/>
552 <constraint firstItem="eOi-eo-GYn" firstAttribute="top" secondItem="mvZ-9L-7a8" secondAttribute="top" id="e8C-p7-obk"/> 507 <constraint firstItem="eOi-eo-GYn" firstAttribute="top" secondItem="mvZ-9L-7a8" secondAttribute="top" id="e8C-p7-obk"/>
553 <constraint firstItem="bq4-nh-Cxk" firstAttribute="top" secondItem="3QV-Ov-PmX" secondAttribute="bottom" constant="8" id="gjA-dw-4j6"/> 508 <constraint firstItem="bq4-nh-Cxk" firstAttribute="top" secondItem="3QV-Ov-PmX" secondAttribute="bottom" constant="8" id="gjA-dw-4j6"/>
554 <constraint firstItem="4JZ-J2-3D9" firstAttribute="leading" secondItem="3QV-Ov-PmX" secondAttribute="trailing" constant="15" id="hCs-KK-0oG"/> 509 <constraint firstItem="4JZ-J2-3D9" firstAttribute="leading" secondItem="3QV-Ov-PmX" secondAttribute="trailing" constant="15" id="hCs-KK-0oG"/>
555 <constraint firstItem="Kpa-HJ-7cE" firstAttribute="width" secondItem="ONn-27-HqB" secondAttribute="width" id="i0I-s6-95a"/> 510 <constraint firstItem="Kpa-HJ-7cE" firstAttribute="width" secondItem="ONn-27-HqB" secondAttribute="width" id="i0I-s6-95a"/>
556 <constraint firstAttribute="trailing" secondItem="pXO-K0-vne" secondAttribute="trailing" constant="10" id="j2H-Na-egE"/> 511 <constraint firstAttribute="trailing" secondItem="pXO-K0-vne" secondAttribute="trailing" constant="10" id="j2H-Na-egE"/>
557 <constraint firstItem="bq4-nh-Cxk" firstAttribute="leading" secondItem="qfU-7x-uss" secondAttribute="leading" id="kTU-cF-wdS"/> 512 <constraint firstItem="bq4-nh-Cxk" firstAttribute="leading" secondItem="qfU-7x-uss" secondAttribute="leading" id="kTU-cF-wdS"/>
558 <constraint firstItem="hWb-vU-yVd" firstAttribute="leading" secondItem="KTY-Ed-NJL" secondAttribute="trailing" constant="8" id="ka5-tK-yxs"/> 513 <constraint firstItem="hWb-vU-yVd" firstAttribute="leading" secondItem="KTY-Ed-NJL" secondAttribute="trailing" constant="8" id="ka5-tK-yxs"/>
559 <constraint firstItem="eOi-eo-GYn" firstAttribute="top" secondItem="mvZ-9L-7a8" secondAttribute="top" id="klA-2z-2Kx"/> 514 <constraint firstItem="eOi-eo-GYn" firstAttribute="top" secondItem="mvZ-9L-7a8" secondAttribute="top" id="klA-2z-2Kx"/>
560 <constraint firstItem="3aE-uP-KLS" firstAttribute="top" secondItem="bq4-nh-Cxk" secondAttribute="top" id="pdY-Ef-eHr"/> 515 <constraint firstItem="3aE-uP-KLS" firstAttribute="top" secondItem="bq4-nh-Cxk" secondAttribute="top" id="pdY-Ef-eHr"/>
561 <constraint firstItem="3QV-Ov-PmX" firstAttribute="top" secondItem="qfU-7x-uss" secondAttribute="bottom" constant="8" id="qLb-a1-eOB"/> 516 <constraint firstItem="3QV-Ov-PmX" firstAttribute="top" secondItem="qfU-7x-uss" secondAttribute="bottom" constant="8" id="qLb-a1-eOB"/>
562 <constraint firstItem="Kpa-HJ-7cE" firstAttribute="leading" secondItem="ONn-27-HqB" secondAttribute="trailing" constant="20" id="rMt-rx-zDY"/> 517 <constraint firstItem="Kpa-HJ-7cE" firstAttribute="leading" secondItem="ONn-27-HqB" secondAttribute="trailing" constant="20" id="rMt-rx-zDY"/>
563 <constraint firstItem="KEy-T1-mdK" firstAttribute="top" secondItem="hWb-vU-yVd" secondAttribute="bottom" constant="15" id="sIJ-Rk-gj3"/> 518 <constraint firstItem="KEy-T1-mdK" firstAttribute="top" secondItem="hWb-vU-yVd" secondAttribute="bottom" constant="15" id="sIJ-Rk-gj3"/>
564 <constraint firstItem="ZtU-mt-3Ov" firstAttribute="top" secondItem="9w1-87-U1W" secondAttribute="top" constant="10" id="tBp-C6-fjS"/> 519 <constraint firstItem="ZtU-mt-3Ov" firstAttribute="top" secondItem="9w1-87-U1W" secondAttribute="top" constant="10" id="tBp-C6-fjS"/>
565 <constraint firstItem="CGA-Xm-2ll" firstAttribute="top" secondItem="bq4-nh-Cxk" secondAttribute="top" id="uaB-yp-z16"/> 520 <constraint firstItem="CGA-Xm-2ll" firstAttribute="top" secondItem="bq4-nh-Cxk" secondAttribute="top" id="uaB-yp-z16"/>
566 <constraint firstItem="qfU-7x-uss" firstAttribute="top" secondItem="KEy-T1-mdK" secondAttribute="bottom" constant="10" id="w4X-lJ-yL1"/> 521 <constraint firstItem="qfU-7x-uss" firstAttribute="top" secondItem="KEy-T1-mdK" secondAttribute="bottom" constant="10" id="w4X-lJ-yL1"/>
567 <constraint firstAttribute="trailing" secondItem="Kpa-HJ-7cE" secondAttribute="trailing" constant="10" id="wvh-Lk-tt9"/> 522 <constraint firstAttribute="trailing" secondItem="Kpa-HJ-7cE" secondAttribute="trailing" constant="10" id="wvh-Lk-tt9"/>
568 <constraint firstItem="KEy-T1-mdK" firstAttribute="leading" secondItem="qdi-Na-zsj" secondAttribute="trailing" constant="8" id="xGa-CF-V9a"/> 523 <constraint firstItem="KEy-T1-mdK" firstAttribute="leading" secondItem="qdi-Na-zsj" secondAttribute="trailing" constant="8" id="xGa-CF-V9a"/>
569 </constraints> 524 </constraints>
570 </view> 525 </view>
571 </subviews> 526 </subviews>
572 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> 527 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
573 <constraints> 528 <constraints>
574 <constraint firstItem="9w1-87-U1W" firstAttribute="leading" secondItem="aKu-bd-xMP" secondAttribute="leading" id="BLm-dD-oN3"/> 529 <constraint firstItem="9w1-87-U1W" firstAttribute="leading" secondItem="aKu-bd-xMP" secondAttribute="leading" id="BLm-dD-oN3"/>
575 <constraint firstItem="9w1-87-U1W" firstAttribute="centerY" secondItem="aKu-bd-xMP" secondAttribute="centerY" id="DT9-CK-3ZL"/> 530 <constraint firstItem="9w1-87-U1W" firstAttribute="centerY" secondItem="aKu-bd-xMP" secondAttribute="centerY" id="DT9-CK-3ZL"/>
576 <constraint firstItem="9w1-87-U1W" firstAttribute="top" secondItem="aKu-bd-xMP" secondAttribute="top" id="PZC-BJ-DLV"/> 531 <constraint firstItem="9w1-87-U1W" firstAttribute="top" secondItem="aKu-bd-xMP" secondAttribute="top" id="PZC-BJ-DLV"/>
577 <constraint firstAttribute="trailing" secondItem="9w1-87-U1W" secondAttribute="trailing" id="RDM-mt-Fjr"/> 532 <constraint firstAttribute="trailing" secondItem="9w1-87-U1W" secondAttribute="trailing" id="RDM-mt-Fjr"/>
578 <constraint firstAttribute="bottom" secondItem="9w1-87-U1W" secondAttribute="bottom" id="w42-vd-D7e"/> 533 <constraint firstAttribute="bottom" secondItem="9w1-87-U1W" secondAttribute="bottom" constant="50" id="w42-vd-D7e"/>
579 <constraint firstItem="9w1-87-U1W" firstAttribute="centerX" secondItem="aKu-bd-xMP" secondAttribute="centerX" id="wJD-gn-ctq"/> 534 <constraint firstItem="9w1-87-U1W" firstAttribute="centerX" secondItem="aKu-bd-xMP" secondAttribute="centerX" id="wJD-gn-ctq"/>
580 </constraints> 535 </constraints>
581 </scrollView> 536 </scrollView>
537 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="QYv-QM-Bkk" userLabel="ViewHeader">
538 <rect key="frame" x="0.0" y="0.0" width="320" height="46"/>
539 <subviews>
540 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="コミュニティー グループ作成" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9hM-Gv-AxQ" customClass="AutoTransLabel">
541 <rect key="frame" x="0.0" y="0.0" width="320" height="46"/>
542 <fontDescription key="fontDescription" type="system" pointSize="16"/>
543 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
544 <nil key="highlightedColor"/>
545 <userDefinedRuntimeAttributes>
546 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.title"/>
547 </userDefinedRuntimeAttributes>
548 </label>
549 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="O23-Hy-4Ld">
550 <rect key="frame" x="0.0" y="5" width="70" height="36"/>
551 <constraints>
552 <constraint firstAttribute="width" constant="70" id="8vZ-Ta-Rzv"/>
553 </constraints>
554 <state key="normal" image="today_back_button"/>
555 <connections>
556 <action selector="clickBack:" destination="-1" eventType="touchUpInside" id="BO6-jx-vuO"/>
557 </connections>
LifeLog/LifeLog/GroupDetailViewController.h
1 // 1 //
2 // GroupDetailViewController.h 2 // GroupDetailViewController.h
3 // LifeLog 3 // LifeLog
4 // 4 //
5 // Created by nvtu on 8/13/17. 5 // Created by nvtu on 8/13/17.
6 // Copyright © 2017 PhongNV. All rights reserved. 6 // Copyright © 2017 PhongNV. All rights reserved.
7 // 7 //
8 8
9 #import <UIKit/UIKit.h> 9 #import <UIKit/UIKit.h>
10 #import "BaseTableViewController.h" 10 #import "BaseTableViewController.h"
11 #import "Entities.h" 11 #import "Entities.h"
12 #import "AutoTransButton.h" 12 #import "AutoTransButton.h"
13 13
14 @interface GroupDetailViewController : BaseTableViewController { 14 @interface GroupDetailViewController : BaseTableViewController {
15 GroupObject * _curGroup; 15 GroupObject * _curGroup;
16 BOOL isMemberList; 16 BOOL isMemberList;
17 } 17 }
18 @property (weak, nonatomic) IBOutlet UIImageView *imgAva; 18 @property (weak, nonatomic) IBOutlet UIImageView *imgAva;
19 19
20 @property (weak, nonatomic) IBOutlet UILabel *lblGrpName; 20 @property (weak, nonatomic) IBOutlet UILabel *lblGrpName;
21 @property (weak, nonatomic) IBOutlet UILabel *lbbGrpActiveMode; 21 @property (weak, nonatomic) IBOutlet UILabel *lbbGrpActiveMode;
22 @property (weak, nonatomic) IBOutlet UILabel *lblGrpGoal; 22 @property (weak, nonatomic) IBOutlet UILabel *lblGrpGoal;
23 @property (weak, nonatomic) IBOutlet AutoTransButton *btJoinGrp; 23 @property (weak, nonatomic) IBOutlet AutoTransButton *btJoinGrp;
24 @property (weak, nonatomic) IBOutlet AutoTransButton *btSwitch; 24 @property (weak, nonatomic) IBOutlet AutoTransButton *btSwitch;
25 25
26 - (IBAction)clickBack:(id)sender;
27
28 - (void) setGroup : (GroupObject *) object; 26 - (void) setGroup : (GroupObject *) object;
27 - (void) requestGroupDetail;
28
29 - (IBAction)clickBack:(id)sender;
29 - (IBAction)clickSwitch:(AutoTransButton *)sender; 30 - (IBAction)clickSwitch:(AutoTransButton *)sender;
30 - (IBAction)clickJoin:(AutoTransButton *)sender; 31 - (IBAction)clickJoin:(AutoTransButton *)sender;
LifeLog/LifeLog/GroupDetailViewController.m
1 // 1 //
2 // GroupDetailViewController.m 2 // GroupDetailViewController.m
3 // LifeLog 3 // LifeLog
4 // 4 //
5 // Created by nvtu on 8/13/17. 5 // Created by nvtu on 8/13/17.
6 // Copyright © 2017 PhongNV. All rights reserved. 6 // Copyright © 2017 PhongNV. All rights reserved.
7 // 7 //
8 8
9 #import "GroupDetailViewController.h" 9 #import "GroupDetailViewController.h"
10 #import <SDWebImage/UIImageView+WebCache.h> 10 #import <SDWebImage/UIImageView+WebCache.h>
11 11
12 #import "Utilities.h" 12 #import "Utilities.h"
13 #import "ServerAPI.h" 13 #import "ServerAPI.h"
14 #import "SNSRecentTopicTableViewCell.h" 14 #import "SNSRecentTopicTableViewCell.h"
15 15
16 @interface GroupDetailViewController () 16 @interface GroupDetailViewController ()
17 17
18 @end 18 @end
19 19
20 @implementation GroupDetailViewController 20 @implementation GroupDetailViewController
21 21
22 - (void)viewDidLoad { 22 - (void)viewDidLoad {
23 [super viewDidLoad]; 23 [super viewDidLoad];
24 isMemberList = false; 24 isMemberList = false;
25 //register nib for table view 25 //register nib for table view
26 [self.tableBase registerNib:[UINib nibWithNibName:@"SNSRecentTopicTableViewCell" bundle:nil] forCellReuseIdentifier:@"RecentTopicCell"]; 26 [self.tableBase registerNib:[UINib nibWithNibName:@"SNSRecentTopicTableViewCell" bundle:nil] forCellReuseIdentifier:@"RecentTopicCell"];
27 if(_curGroup != nil) { 27 if(_curGroup != nil) {
28 [self requestGroupDetail]; 28 [self requestGroupDetail];
29 } 29 }
30 // Do any additional setup after loading the view from its nib. 30 // Do any additional setup after loading the view from its nib.
31 } 31 }
32 32
33 - (void)didReceiveMemoryWarning { 33 - (void)didReceiveMemoryWarning {
34 [super didReceiveMemoryWarning]; 34 [super didReceiveMemoryWarning];
35 // Dispose of any resources that can be recreated. 35 // Dispose of any resources that can be recreated.
36 } 36 }
37 37
38 - (void) setGroup : (GroupObject *) object { 38 - (void) setGroup : (GroupObject *) object {
39 _curGroup = object; 39 _curGroup = object;
40 } 40 }
41 41
42 - (void)setupView { 42 - (void)setupView {
43 if(_curGroup != nil) { 43 if(_curGroup != nil) {
44 if(_curGroup.avatar && ![_curGroup.avatar isKindOfClass:[NSNull class]]) { 44 if(self.imgAva != nil && _curGroup.avatar && ![_curGroup.avatar isKindOfClass:[NSNull class]]) {
45 [self.imgAva sd_setImageWithURL:[NSURL URLWithString:[Utilities getImageLink:_curGroup.avatar]]]; 45 [self.imgAva sd_setImageWithURL:[NSURL URLWithString:[Utilities getImageLink:_curGroup.avatar]]];
46 } 46 }
47 [self.lblGrpName setText:_curGroup.name]; 47 if(self.lblGrpName != nil) {
48 [self.lblGrpGoal setText:_curGroup.goal]; 48 [self.lblGrpName setText:_curGroup.name];
49 [self.btJoinGrp setHidden:_curGroup.isJoin]; 49 }
50 if(self.btJoinGrp != nil) {
51 [self.btJoinGrp setHidden:false];
52 }
50 NSString *mode = @""; 53 NSString *mode = @"";
54 NSString *goalText = [NSString stringWithFormat:@"%@\n", _curGroup.goal];
55 if(_curGroup.runMode || _curGroup.walkMode || _curGroup.bikeMode) {
56 goalText = [goalText stringByAppendingString:@"1日 目標 "];
57 }
51 if(_curGroup.runMode) { 58 if(_curGroup.runMode) {
52 mode = [mode stringByAppendingString:NSLocalizedString(@"lifelog.grDetail.mode.running", nil)]; 59 mode = [mode stringByAppendingString:NSLocalizedString(@"lifelog.grDetail.mode.running", nil)];
53 mode = [mode stringByAppendingString:@"\n"]; 60 mode = [mode stringByAppendingString:@"\n"];
61 goalText = [goalText stringByAppendingFormat:@"RUN %dm, ", _curGroup.runGoal];
54 } 62 }
55 if(_curGroup.walkMode) { 63 if(_curGroup.walkMode) {
56 mode = [mode stringByAppendingString:NSLocalizedString(@"lifelog.grDetail.mode.walking", nil)]; 64 mode = [mode stringByAppendingString:NSLocalizedString(@"lifelog.grDetail.mode.walking", nil)];
57 mode = [mode stringByAppendingString:@"\n"]; 65 mode = [mode stringByAppendingString:@"\n"];
66 goalText = [goalText stringByAppendingFormat:@"WALK %dm, ", _curGroup.walkGoal];
58 } 67 }
59 if(_curGroup.bikeMode) { 68 if(_curGroup.bikeMode) {
60 mode = [mode stringByAppendingString:NSLocalizedString(@"lifelog.grDetail.mode.bike", nil)]; 69 mode = [mode stringByAppendingString:NSLocalizedString(@"lifelog.grDetail.mode.bike", nil)];
61 mode = [mode stringByAppendingString:@"\n"]; 70 mode = [mode stringByAppendingString:@"\n"];
71 goalText = [goalText stringByAppendingFormat:@"BIKE %dm, ", _curGroup.bikeGoal];
62 } 72 }
63 if(_curGroup.stepMode) { 73 if(_curGroup.stepMode) {
64 mode = [mode stringByAppendingString:NSLocalizedString(@"lifelog.grDetail.mode.step", nil)]; 74 mode = [mode stringByAppendingString:NSLocalizedString(@"lifelog.grDetail.mode.step", nil)];
65 mode = [mode stringByAppendingString:@"\n"]; 75 mode = [mode stringByAppendingString:@"\n"];
66 } 76 }
67 if(_curGroup.beginMode) { 77 if(_curGroup.beginMode) {
68 mode = [mode stringByAppendingString:NSLocalizedString(@"lifelog.grDetail.mode.begin", nil)]; 78 mode = [mode stringByAppendingString:NSLocalizedString(@"lifelog.grDetail.mode.begin", nil)];
69 mode = [mode stringByAppendingString:@"\n"]; 79 mode = [mode stringByAppendingString:@"\n"];
70 } 80 }
71 if(_curGroup.gymMode) { 81 if(_curGroup.gymMode) {
72 mode = [mode stringByAppendingString:NSLocalizedString(@"lifelog.grDetail.mode.gym", nil)]; 82 mode = [mode stringByAppendingString:NSLocalizedString(@"lifelog.grDetail.mode.gym", nil)];
73 mode = [mode stringByAppendingString:@"\n"]; 83 mode = [mode stringByAppendingString:@"\n"];
74 } 84 }
75 NSRange range = [mode rangeOfString:@"\n" options:NSBackwardsSearch]; 85 NSRange range = [mode rangeOfString:@"\n" options:NSBackwardsSearch];
76 if(range.length > 0) { 86 if(range.length > 0) {
77 mode = [mode stringByReplacingOccurrencesOfString:@"\n" withString:@"" options:NSBackwardsSearch range:range]; 87 mode = [mode stringByReplacingOccurrencesOfString:@"\n" withString:@"" options:NSBackwardsSearch range:range];
78 } 88 }
79 self.lbbGrpActiveMode.text = mode; 89 range = [goalText rangeOfString:@", " options:NSBackwardsSearch];
90 if(range.length > 0) {
91 goalText = [goalText stringByReplacingOccurrencesOfString:@", " withString:@"" options:NSBackwardsSearch range:range];
92 }
93 [self.lbbGrpActiveMode setText:mode];
94 [self.lblGrpGoal setText:goalText];
80 } 95 }
81 } 96 }
97
98 - (void) requestGroupDetail {
99 NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken];
100 MBProgressHUD *hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true];
101 [[ServerAPI server] getGroupDetail:token withGroupID:_curGroup.groupID CompletionHandler:^(GroupObject *object, NSError *error) {
102 GroupDetailViewController __weak *weakSelf = self;
103 [_curGroup updateDate:object];
104 dispatch_async(dispatch_get_main_queue(), ^{
105 [hudView hideAnimated:true];
106 [weakSelf setupView];
107 [weakSelf callRequestToUpdateData];
108 });
109 }];
110 }
111
82 #pragma mark IBAction 112 #pragma mark IBAction
83 113
84 - (IBAction)clickBack:(id)sender { 114 - (IBAction)clickBack:(id)sender {
85 [self.navigationController popViewControllerAnimated:true]; 115 [self.navigationController popViewControllerAnimated:true];
86 } 116 }
87 117
88 - (IBAction)clickSwitch:(AutoTransButton *)sender { 118 - (IBAction)clickSwitch:(AutoTransButton *)sender {
89 isMemberList = !isMemberList; 119 isMemberList = !isMemberList;
90 if(isMemberList) { 120 if(isMemberList) {
91 [sender setTitle:NSLocalizedString(@"lifelog.grDetail.bt.viewTweet", nil) forState:UIControlStateNormal]; 121 [sender setTitle:NSLocalizedString(@"lifelog.grDetail.bt.viewTweet", nil) forState:UIControlStateNormal];
92 } 122 }
93 else { 123 else {
94 [sender setTitle:NSLocalizedString(@"lifelog.grDetail.bt.viewMem", nil) forState:UIControlStateNormal]; 124 [sender setTitle:NSLocalizedString(@"lifelog.grDetail.bt.viewMem", nil) forState:UIControlStateNormal];
95 } 125 }
96 [sender setUserInteractionEnabled:false]; 126 [sender setUserInteractionEnabled:false];
97 [self resetData]; 127 [self resetData];
98 } 128 }
99 129
100 - (IBAction)clickJoin:(AutoTransButton *)sender { 130 - (IBAction)clickJoin:(AutoTransButton *)sender {
101 NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken]; 131 NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken];
102 MBProgressHUD *hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true]; 132 MBProgressHUD *hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true];
103 [[ServerAPI server] requestJoinGroup:token groupID:_curGroup.groupID CompletionHandler:^(NSError *error){ 133 [[ServerAPI server] requestJoinGroup:token groupID:_curGroup.groupID CompletionHandler:^(NSError *error){
104 GroupDetailViewController __weak *weakSelf = self; 134 GroupDetailViewController __weak *weakSelf = self;
105 dispatch_async(dispatch_get_main_queue(), ^{ 135 dispatch_async(dispatch_get_main_queue(), ^{
106 [hudView hideAnimated:true]; 136 [hudView hideAnimated:true];
107 if(error == nil) { 137 if(error == nil) {
108 _curGroup.isJoin = true; 138 _curGroup.isJoin = true;
109 [weakSelf.btJoinGrp setHidden:_curGroup.isJoin]; 139 [weakSelf.btJoinGrp setHidden:_curGroup.isJoin];
140 [Utilities showMessage:@"Join successfully" withViewController:weakSelf];
110 } 141 }
111 }); 142 });
112 }]; 143 }];
113 144
114 } 145 }
115 146
116 147
117 148
118 #pragma mark UITableView Delegate 149 #pragma mark UITableView Delegate
119 - (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 150 - (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
120 SNSRecentTopicTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"RecentTopicCell"]; 151 SNSRecentTopicTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"RecentTopicCell"];
121 if(isMemberList) { 152 if(isMemberList) {
122 MemberObject *object = [_curDataList objectAtIndex:indexPath.row]; 153 MemberObject *object = [_curDataList objectAtIndex:indexPath.row];
123 if(object.avatar && ![object.avatar isKindOfClass:[NSNull class]]) { 154 if(object.avatar && ![object.avatar isKindOfClass:[NSNull class]]) {
124 [cell.imgAvatar sd_setImageWithURL:[NSURL URLWithString:[Utilities getImageLink:object.avatar]]]; 155 [cell.imgAvatar sd_setImageWithURL:[NSURL URLWithString:[Utilities getImageLink:object.avatar]]];
125 } 156 }
126 else { 157 else {
127 [cell.imgAvatar setImage:[UIImage imageNamed:@"avatar_default"]]; 158 [cell.imgAvatar setImage:[UIImage imageNamed:@"avatar_default"]];
128 } 159 }
129 cell.lblUsername.text = @""; 160 cell.lblUsername.text = @"";
130 cell.lblDateTime.text = @""; 161 cell.lblDateTime.text = @"";
131 cell.lblDes.text = object.userName; 162 cell.lblDes.text = object.userName;
132 cell.lblMode.text = @""; 163 cell.lblMode.text = @"";
133 cell.lblDistance.text = @""; 164 cell.lblDistance.text = @"";
134 cell.lblDuration.text = @""; 165 cell.lblDuration.text = @"";
135 } 166 }
136 else { 167 else {
137 TweetObject *object = [_curDataList objectAtIndex:indexPath.row]; 168 TweetObject *object = [_curDataList objectAtIndex:indexPath.row];
138 if(object.avatar && ![object.avatar isKindOfClass:[NSNull class]]) { 169 if(object.avatar && ![object.avatar isKindOfClass:[NSNull class]]) {
139 [cell.imgAvatar sd_setImageWithURL:[NSURL URLWithString:[Utilities getImageLink:object.avatar]]]; 170 [cell.imgAvatar sd_setImageWithURL:[NSURL URLWithString:[Utilities getImageLink:object.avatar]]];
140 } 171 }
141 else { 172 else {
142 [cell.imgAvatar setImage:[UIImage imageNamed:@"avatar_default"]]; 173 [cell.imgAvatar setImage:[UIImage imageNamed:@"avatar_default"]];
143 } 174 }
144 cell.lblDateTime.text = [Utilities stringFromDate:object.createDate withFormat:@"YYYY/MM/dd hh:mm"]; 175 cell.lblDateTime.text = [Utilities stringFromDate:object.createDate withFormat:@"YYYY/MM/dd hh:mm"];
145 cell.lblUsername.text = object.userName; 176 cell.lblUsername.text = object.userName;
146 cell.lblDes.text = object.content; 177 cell.lblDes.text = object.content;
147 cell.lblMode.text = object.mode; 178 cell.lblMode.text = object.mode;
148 cell.lblDistance.text = [NSString stringWithFormat:@"%.0f m", object.distance]; 179 cell.lblDistance.text = [NSString stringWithFormat:@"%.0f m", object.distance];
149 cell.lblDuration.text = object.time; 180 cell.lblDuration.text = object.time;
150 } 181 }
151 182
152 return cell; 183 return cell;
153 } 184 }
154 185
155 #pragma mark Private Function 186 #pragma mark Private Function
156
157 - (void) requestGroupDetail {
158 NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken];
159 MBProgressHUD *hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true];
160 [[ServerAPI server] getGroupDetail:token withGroupID:_curGroup.groupID CompletionHandler:^(GroupObject *object, NSError *error) {
161 GroupDetailViewController __weak *weakSelf = self;
162 [_curGroup updateDate:object];
163 dispatch_async(dispatch_get_main_queue(), ^{
164 [hudView hideAnimated:true];
165 [weakSelf setupView];
166 [weakSelf callRequestToUpdateData];
167 });
168 }];
169 }
170 187
171 -(void) callRequestToUpdateData { 188 -(void) callRequestToUpdateData {
172 [super callRequestToUpdateData]; 189 [super callRequestToUpdateData];
173 190
174 NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken]; 191 NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken];
175 MBProgressHUD *hudView = nil; 192 MBProgressHUD *hudView = nil;
176 if(_curPage == 1 && !self.refreshControl.isRefreshing) { 193 if(_curPage == 1 && !self.refreshControl.isRefreshing) {
177 hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true]; 194 hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true];
178 } 195 }
179 if(isMemberList) { 196 if(isMemberList) {
180 [[ServerAPI server] requestMemberList:token groupID:_curGroup.groupID withPage:_curPage CompletionHandler:^(NSArray *array, NSError *error){ 197 [[ServerAPI server] requestMemberList:token groupID:_curGroup.groupID withPage:_curPage CompletionHandler:^(NSArray *array, NSError *error){
181 dispatch_async(dispatch_get_main_queue(), ^{ 198 dispatch_async(dispatch_get_main_queue(), ^{
182 if(hudView != nil) { 199 if(hudView != nil) {
183 [hudView hideAnimated:true]; 200 [hudView hideAnimated:true];
184 } 201 }
185 }); 202 });
186 GroupDetailViewController __weak *weakSelf = self; 203 GroupDetailViewController __weak *weakSelf = self;
187 [weakSelf updateTableData:array error:error]; 204 [weakSelf updateTableData:array error:error];
188 [weakSelf.btSwitch setUserInteractionEnabled:true]; 205 [weakSelf.btSwitch setUserInteractionEnabled:true];
189 }]; 206 }];
190 } 207 }
191 else { 208 else {
192 [[ServerAPI server] requestTweetsList:token groupID:_curGroup.groupID withPage:_curPage CompletionHandler:^(NSArray *array, NSError *error){ 209 [[ServerAPI server] requestTweetsList:token groupID:_curGroup.groupID withPage:_curPage CompletionHandler:^(NSArray *array, NSError *error){
LifeLog/LifeLog/GroupDetailViewController.xib
1 <?xml version="1.0" encoding="UTF-8"?> 1 <?xml version="1.0" encoding="UTF-8"?>
2 <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="12118" systemVersion="16D32" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES"> 2 <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="12118" systemVersion="16D32" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
3 <device id="retina4_7" orientation="portrait"> 3 <device id="retina4_7" orientation="portrait">
4 <adaptation id="fullscreen"/> 4 <adaptation id="fullscreen"/>
5 </device> 5 </device>
6 <dependencies> 6 <dependencies>
7 <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12086"/> 7 <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12086"/>
8 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> 8 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
9 </dependencies> 9 </dependencies>
10 <objects> 10 <objects>
11 <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="GroupDetailViewController"> 11 <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="GroupDetailViewController">
12 <connections> 12 <connections>
13 <outlet property="btJoinGrp" destination="caN-x7-hJz" id="B17-YC-Rmk"/> 13 <outlet property="btJoinGrp" destination="caN-x7-hJz" id="B17-YC-Rmk"/>
14 <outlet property="btSwitch" destination="gBg-k9-tgw" id="3ZZ-Qb-d3a"/> 14 <outlet property="btSwitch" destination="gBg-k9-tgw" id="3ZZ-Qb-d3a"/>
15 <outlet property="imgAva" destination="qYg-Gw-R2b" id="f9w-A2-u4G"/> 15 <outlet property="imgAva" destination="qYg-Gw-R2b" id="f9w-A2-u4G"/>
16 <outlet property="lbbGrpActiveMode" destination="O8z-6V-YFd" id="s8J-3i-pW3"/> 16 <outlet property="lbbGrpActiveMode" destination="O8z-6V-YFd" id="s8J-3i-pW3"/>
17 <outlet property="lblGrpGoal" destination="Bdy-dI-j47" id="AKx-8y-Ifm"/> 17 <outlet property="lblGrpGoal" destination="Bdy-dI-j47" id="AKx-8y-Ifm"/>
18 <outlet property="lblGrpName" destination="YWV-pS-TCo" id="VeU-Ov-uSD"/> 18 <outlet property="lblGrpName" destination="YWV-pS-TCo" id="VeU-Ov-uSD"/>
19 <outlet property="tableBase" destination="4VU-Ye-7Au" id="m1e-cS-Sxf"/> 19 <outlet property="tableBase" destination="4VU-Ye-7Au" id="m1e-cS-Sxf"/>
20 <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> 20 <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
21 </connections> 21 </connections>
22 </placeholder> 22 </placeholder>
23 <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> 23 <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
24 <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> 24 <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT">
25 <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> 25 <rect key="frame" x="0.0" y="0.0" width="320" height="567"/>
26 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> 26 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
27 <subviews> 27 <subviews>
28 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="25d-3H-0fr" userLabel="ViewHeader"> 28 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="25d-3H-0fr" userLabel="ViewHeader">
29 <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> 29 <rect key="frame" x="0.0" y="0.0" width="320" height="46"/>
30 <subviews> 30 <subviews>
31 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="SNS" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="DxD-Cy-0wi" customClass="AutoTransLabel"> 31 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="SNS" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="DxD-Cy-0wi" customClass="AutoTransLabel">
32 <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> 32 <rect key="frame" x="0.0" y="0.0" width="320" height="46"/>
33 <fontDescription key="fontDescription" type="system" pointSize="17"/> 33 <fontDescription key="fontDescription" type="system" pointSize="17"/>
34 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 34 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
35 <nil key="highlightedColor"/> 35 <nil key="highlightedColor"/>
36 <userDefinedRuntimeAttributes> 36 <userDefinedRuntimeAttributes>
37 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.grDetail.title"/> 37 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.grDetail.title"/>
38 </userDefinedRuntimeAttributes> 38 </userDefinedRuntimeAttributes>
39 </label> 39 </label>
40 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="O3M-Ba-zHF"> 40 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="O3M-Ba-zHF">
41 <rect key="frame" x="0.0" y="5" width="70" height="36"/> 41 <rect key="frame" x="0.0" y="5" width="70" height="36"/>
42 <constraints> 42 <constraints>
43 <constraint firstAttribute="width" constant="70" id="2Mk-ly-c0t"/> 43 <constraint firstAttribute="width" constant="70" id="2Mk-ly-c0t"/>
44 </constraints> 44 </constraints>
45 <state key="normal" image="today_back_button"/> 45 <state key="normal" image="today_back_button"/>
46 <connections> 46 <connections>
47 <action selector="clickBack:" destination="-1" eventType="touchUpInside" id="gS4-F3-fzi"/> 47 <action selector="clickBack:" destination="-1" eventType="touchUpInside" id="gS4-F3-fzi"/>
48 </connections> 48 </connections>
49 </button> 49 </button>
50 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="y09-DG-Krp"> 50 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="y09-DG-Krp">
51 <rect key="frame" x="330" y="0.0" width="45" height="46"/> 51 <rect key="frame" x="275" y="0.0" width="45" height="46"/>
52 <constraints> 52 <constraints>
53 <constraint firstAttribute="width" constant="45" id="hHa-aE-1zd"/> 53 <constraint firstAttribute="width" constant="45" id="hHa-aE-1zd"/>
54 </constraints> 54 </constraints>
55 <state key="normal" image="icon_menu"/> 55 <state key="normal" image="icon_menu"/>
56 </button> 56 </button>
57 </subviews> 57 </subviews>
58 <color key="backgroundColor" red="0.098039215690000001" green="0.098039215690000001" blue="0.098039215690000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> 58 <color key="backgroundColor" red="0.098039215690000001" green="0.098039215690000001" blue="0.098039215690000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
59 <constraints> 59 <constraints>
60 <constraint firstItem="y09-DG-Krp" firstAttribute="top" secondItem="25d-3H-0fr" secondAttribute="top" id="65z-ZM-a3D"/> 60 <constraint firstItem="y09-DG-Krp" firstAttribute="top" secondItem="25d-3H-0fr" secondAttribute="top" id="65z-ZM-a3D"/>
61 <constraint firstItem="O3M-Ba-zHF" firstAttribute="leading" secondItem="25d-3H-0fr" secondAttribute="leading" id="CQk-IB-W9y"/> 61 <constraint firstItem="O3M-Ba-zHF" firstAttribute="leading" secondItem="25d-3H-0fr" secondAttribute="leading" id="CQk-IB-W9y"/>
62 <constraint firstAttribute="bottom" secondItem="y09-DG-Krp" secondAttribute="bottom" id="IWC-4b-gp6"/> 62 <constraint firstAttribute="bottom" secondItem="y09-DG-Krp" secondAttribute="bottom" id="IWC-4b-gp6"/>
63 <constraint firstItem="O3M-Ba-zHF" firstAttribute="top" secondItem="25d-3H-0fr" secondAttribute="top" constant="5" id="JWL-bD-I2Z"/> 63 <constraint firstItem="O3M-Ba-zHF" firstAttribute="top" secondItem="25d-3H-0fr" secondAttribute="top" constant="5" id="JWL-bD-I2Z"/>
64 <constraint firstItem="DxD-Cy-0wi" firstAttribute="top" secondItem="25d-3H-0fr" secondAttribute="top" id="WYM-oV-6xn"/> 64 <constraint firstItem="DxD-Cy-0wi" firstAttribute="top" secondItem="25d-3H-0fr" secondAttribute="top" id="WYM-oV-6xn"/>
65 <constraint firstAttribute="bottom" secondItem="O3M-Ba-zHF" secondAttribute="bottom" constant="5" id="ZA0-Bo-IQF"/> 65 <constraint firstAttribute="bottom" secondItem="O3M-Ba-zHF" secondAttribute="bottom" constant="5" id="ZA0-Bo-IQF"/>
66 <constraint firstItem="DxD-Cy-0wi" firstAttribute="leading" secondItem="25d-3H-0fr" secondAttribute="leading" id="cbx-fE-OaR"/> 66 <constraint firstItem="DxD-Cy-0wi" firstAttribute="leading" secondItem="25d-3H-0fr" secondAttribute="leading" id="cbx-fE-OaR"/>
67 <constraint firstAttribute="trailing" secondItem="DxD-Cy-0wi" secondAttribute="trailing" id="i0L-w8-Oxm"/> 67 <constraint firstAttribute="trailing" secondItem="DxD-Cy-0wi" secondAttribute="trailing" id="i0L-w8-Oxm"/>
68 <constraint firstAttribute="trailing" secondItem="y09-DG-Krp" secondAttribute="trailing" id="nNZ-jP-k6U"/> 68 <constraint firstAttribute="trailing" secondItem="y09-DG-Krp" secondAttribute="trailing" id="nNZ-jP-k6U"/>
69 <constraint firstAttribute="bottom" secondItem="DxD-Cy-0wi" secondAttribute="bottom" id="oxP-oa-3FJ"/> 69 <constraint firstAttribute="bottom" secondItem="DxD-Cy-0wi" secondAttribute="bottom" id="oxP-oa-3FJ"/>
70 <constraint firstAttribute="height" constant="46" id="u2G-4s-RB5"/> 70 <constraint firstAttribute="height" constant="46" id="u2G-4s-RB5"/>
71 </constraints> 71 </constraints>
72 </view> 72 </view>
73 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="YWV-pS-TCo"> 73 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="YWV-pS-TCo">
74 <rect key="frame" x="15" y="54" width="345" height="21"/> 74 <rect key="frame" x="15" y="54" width="290" height="21"/>
75 <constraints> 75 <constraints>
76 <constraint firstAttribute="height" constant="21" id="fQO-ja-W9R"/> 76 <constraint firstAttribute="height" constant="21" id="fQO-ja-W9R"/>
77 </constraints> 77 </constraints>
78 <fontDescription key="fontDescription" type="system" pointSize="17"/> 78 <fontDescription key="fontDescription" type="system" pointSize="15"/>
79 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 79 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
80 <nil key="highlightedColor"/> 80 <nil key="highlightedColor"/>
81 </label> 81 </label>
82 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="O8z-6V-YFd"> 82 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="O8z-6V-YFd">
83 <rect key="frame" x="15" y="85" width="243" height="60"/> 83 <rect key="frame" x="15" y="85" width="188" height="60"/>
84 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> 84 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
85 <constraints> 85 <constraints>
86 <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="60" id="Bid-NM-Ree"/> 86 <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="60" id="Bid-NM-Ree"/>
87 </constraints> 87 </constraints>
88 <fontDescription key="fontDescription" type="system" pointSize="14"/> 88 <fontDescription key="fontDescription" type="system" pointSize="14"/>
89 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 89 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
90 <nil key="highlightedColor"/> 90 <nil key="highlightedColor"/>
91 </label> 91 </label>
92 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Bdy-dI-j47"> 92 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Bdy-dI-j47">
93 <rect key="frame" x="15" y="160" width="345" height="80"/> 93 <rect key="frame" x="15" y="160" width="290" height="0.0"/>
94 <constraints> 94 <constraints>
95 <constraint firstAttribute="height" constant="80" id="jgH-57-Bae"/> 95 <constraint firstAttribute="height" relation="greaterThanOrEqual" id="jgH-57-Bae"/>
96 </constraints> 96 </constraints>
97 <fontDescription key="fontDescription" type="system" pointSize="17"/> 97 <fontDescription key="fontDescription" type="system" pointSize="14"/>
98 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 98 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
99 <nil key="highlightedColor"/> 99 <nil key="highlightedColor"/>
100 </label> 100 </label>
101 <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="qYg-Gw-R2b"> 101 <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="qYg-Gw-R2b">
102 <rect key="frame" x="280" y="85" width="80" height="60"/> 102 <rect key="frame" x="225" y="85" width="80" height="60"/>
103 <constraints> 103 <constraints>
104 <constraint firstAttribute="width" constant="80" id="NEk-vg-zus"/> 104 <constraint firstAttribute="width" constant="80" id="NEk-vg-zus"/>
105 <constraint firstAttribute="height" constant="60" id="qlv-ht-SUw"/> 105 <constraint firstAttribute="height" constant="60" id="qlv-ht-SUw"/>
106 </constraints> 106 </constraints>
107 </imageView> 107 </imageView>
108 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="gBg-k9-tgw" customClass="AutoTransButton"> 108 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="gBg-k9-tgw" customClass="AutoTransButton">
109 <rect key="frame" x="15" y="270" width="162" height="30"/> 109 <rect key="frame" x="15" y="190" width="134.5" height="30"/>
110 <color key="backgroundColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> 110 <color key="backgroundColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
111 <constraints> 111 <constraints>
112 <constraint firstAttribute="height" constant="30" id="6Ir-ZZ-NOb"/> 112 <constraint firstAttribute="height" constant="30" id="6Ir-ZZ-NOb"/>
113 </constraints> 113 </constraints>
114 <fontDescription key="fontDescription" type="system" pointSize="14"/>
114 <state key="normal" title="メンバーを見る"> 115 <state key="normal" title="メンバーを見る">
115 <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 116 <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
116 </state> 117 </state>
117 <userDefinedRuntimeAttributes> 118 <userDefinedRuntimeAttributes>
118 <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> 119 <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
119 <integer key="value" value="5"/> 120 <integer key="value" value="5"/>
120 </userDefinedRuntimeAttribute> 121 </userDefinedRuntimeAttribute>
121 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.grDetail.bt.viewMem"/> 122 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.grDetail.bt.viewMem"/>
122 </userDefinedRuntimeAttributes> 123 </userDefinedRuntimeAttributes>
123 <connections> 124 <connections>
124 <action selector="clickSwitch:" destination="-1" eventType="touchUpInside" id="z4V-ym-fqS"/> 125 <action selector="clickSwitch:" destination="-1" eventType="touchUpInside" id="z4V-ym-fqS"/>
125 </connections> 126 </connections>
126 </button> 127 </button>
127 <button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="caN-x7-hJz" customClass="AutoTransButton"> 128 <button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="caN-x7-hJz" customClass="AutoTransButton">
128 <rect key="frame" x="197" y="270" width="162" height="30"/> 129 <rect key="frame" x="169.5" y="190" width="134.5" height="30"/>
129 <color key="backgroundColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> 130 <color key="backgroundColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
130 <constraints> 131 <constraints>
131 <constraint firstAttribute="height" constant="30" id="gIs-Km-dbx"/> 132 <constraint firstAttribute="height" constant="30" id="gIs-Km-dbx"/>
132 </constraints> 133 </constraints>
134 <fontDescription key="fontDescription" type="system" pointSize="14"/>
133 <state key="normal" title="グループに参加する"> 135 <state key="normal" title="グループに参加する">
134 <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 136 <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
135 </state> 137 </state>
136 <userDefinedRuntimeAttributes> 138 <userDefinedRuntimeAttributes>
137 <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> 139 <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
138 <integer key="value" value="5"/> 140 <integer key="value" value="5"/>
139 </userDefinedRuntimeAttribute> 141 </userDefinedRuntimeAttribute>
140 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.grDetail.bt.joinGr"/> 142 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.grDetail.bt.joinGr"/>
141 </userDefinedRuntimeAttributes> 143 </userDefinedRuntimeAttributes>
142 <connections> 144 <connections>
143 <action selector="clickJoin:" destination="-1" eventType="touchUpInside" id="Ukt-bi-Sw2"/> 145 <action selector="clickJoin:" destination="-1" eventType="touchUpInside" id="Ukt-bi-Sw2"/>
144 </connections> 146 </connections>
145 </button> 147 </button>
146 <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="none" rowHeight="100" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="4VU-Ye-7Au"> 148 <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="none" rowHeight="100" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="4VU-Ye-7Au">
147 <rect key="frame" x="0.0" y="310" width="375" height="307"/> 149 <rect key="frame" x="0.0" y="230" width="320" height="287"/>
148 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> 150 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
149 <connections> 151 <connections>
150 <outlet property="dataSource" destination="-1" id="TLB-6X-bRI"/> 152 <outlet property="dataSource" destination="-1" id="TLB-6X-bRI"/>
151 <outlet property="delegate" destination="-1" id="QcJ-Yh-deE"/> 153 <outlet property="delegate" destination="-1" id="QcJ-Yh-deE"/>
152 </connections> 154 </connections>
153 </tableView> 155 </tableView>
154 </subviews> 156 </subviews>
155 <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> 157 <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
156 <constraints> 158 <constraints>
157 <constraint firstItem="25d-3H-0fr" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="5o2-0w-AL5"/> 159 <constraint firstItem="25d-3H-0fr" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="5o2-0w-AL5"/>
158 <constraint firstAttribute="trailing" secondItem="25d-3H-0fr" secondAttribute="trailing" id="7IX-2R-C0n"/> 160 <constraint firstAttribute="trailing" secondItem="25d-3H-0fr" secondAttribute="trailing" id="7IX-2R-C0n"/>
159 <constraint firstItem="O8z-6V-YFd" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="81K-BQ-6tU"/> 161 <constraint firstItem="O8z-6V-YFd" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="81K-BQ-6tU"/>
160 <constraint firstAttribute="bottom" secondItem="4VU-Ye-7Au" secondAttribute="bottom" constant="50" id="GKY-NB-YYF"/> 162 <constraint firstAttribute="bottom" secondItem="4VU-Ye-7Au" secondAttribute="bottom" constant="50" id="GKY-NB-YYF"/>
161 <constraint firstItem="O8z-6V-YFd" firstAttribute="top" secondItem="YWV-pS-TCo" secondAttribute="bottom" constant="10" id="HOo-rH-ysj"/> 163 <constraint firstItem="O8z-6V-YFd" firstAttribute="top" secondItem="YWV-pS-TCo" secondAttribute="bottom" constant="10" id="HOo-rH-ysj"/>
162 <constraint firstItem="Bdy-dI-j47" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="I1a-bY-ME9"/> 164 <constraint firstItem="Bdy-dI-j47" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="I1a-bY-ME9"/>
163 <constraint firstItem="YWV-pS-TCo" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="IS9-SU-75m"/> 165 <constraint firstItem="YWV-pS-TCo" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="IS9-SU-75m"/>
164 <constraint firstAttribute="trailing" secondItem="Bdy-dI-j47" secondAttribute="trailing" constant="15" id="Ka2-Ki-Pu6"/> 166 <constraint firstAttribute="trailing" secondItem="Bdy-dI-j47" secondAttribute="trailing" constant="15" id="Ka2-Ki-Pu6"/>
165 <constraint firstItem="qYg-Gw-R2b" firstAttribute="top" secondItem="YWV-pS-TCo" secondAttribute="bottom" constant="10" id="One-fp-LTK"/> 167 <constraint firstItem="qYg-Gw-R2b" firstAttribute="top" secondItem="YWV-pS-TCo" secondAttribute="bottom" constant="10" id="One-fp-LTK"/>
166 <constraint firstAttribute="trailing" secondItem="qYg-Gw-R2b" secondAttribute="trailing" constant="15" id="PMd-CT-MVj"/> 168 <constraint firstAttribute="trailing" secondItem="qYg-Gw-R2b" secondAttribute="trailing" constant="15" id="PMd-CT-MVj"/>
167 <constraint firstItem="gBg-k9-tgw" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="bTf-qW-d1y"/> 169 <constraint firstItem="gBg-k9-tgw" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="bTf-qW-d1y"/>
168 <constraint firstItem="YWV-pS-TCo" firstAttribute="top" secondItem="25d-3H-0fr" secondAttribute="bottom" constant="8" id="cKj-l3-dgv"/> 170 <constraint firstItem="YWV-pS-TCo" firstAttribute="top" secondItem="25d-3H-0fr" secondAttribute="bottom" constant="8" id="cKj-l3-dgv"/>
169 <constraint firstItem="4VU-Ye-7Au" firstAttribute="top" secondItem="caN-x7-hJz" secondAttribute="bottom" constant="10" id="eQe-Kl-cMp"/> 171 <constraint firstItem="4VU-Ye-7Au" firstAttribute="top" secondItem="caN-x7-hJz" secondAttribute="bottom" constant="10" id="eQe-Kl-cMp"/>
170 <constraint firstItem="4VU-Ye-7Au" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="fru-BN-M5T"/> 172 <constraint firstItem="4VU-Ye-7Au" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="fru-BN-M5T"/>
171 <constraint firstItem="caN-x7-hJz" firstAttribute="top" secondItem="gBg-k9-tgw" secondAttribute="top" id="gUS-Ty-4Hk"/> 173 <constraint firstItem="caN-x7-hJz" firstAttribute="top" secondItem="gBg-k9-tgw" secondAttribute="top" id="gUS-Ty-4Hk"/>
172 <constraint firstItem="qYg-Gw-R2b" firstAttribute="leading" secondItem="O8z-6V-YFd" secondAttribute="trailing" constant="22" id="gzU-2Q-G96"/> 174 <constraint firstItem="qYg-Gw-R2b" firstAttribute="leading" secondItem="O8z-6V-YFd" secondAttribute="trailing" constant="22" id="gzU-2Q-G96"/>
173 <constraint firstItem="caN-x7-hJz" firstAttribute="leading" secondItem="gBg-k9-tgw" secondAttribute="trailing" constant="20" id="hWK-jf-zee"/> 175 <constraint firstItem="caN-x7-hJz" firstAttribute="leading" secondItem="gBg-k9-tgw" secondAttribute="trailing" constant="20" id="hWK-jf-zee"/>
174 <constraint firstItem="25d-3H-0fr" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="jhT-CE-fr7"/> 176 <constraint firstItem="25d-3H-0fr" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="jhT-CE-fr7"/>
175 <constraint firstItem="caN-x7-hJz" firstAttribute="width" secondItem="gBg-k9-tgw" secondAttribute="width" id="mD6-eL-KB7"/> 177 <constraint firstItem="caN-x7-hJz" firstAttribute="width" secondItem="gBg-k9-tgw" secondAttribute="width" id="mD6-eL-KB7"/>
176 <constraint firstItem="gBg-k9-tgw" firstAttribute="top" secondItem="Bdy-dI-j47" secondAttribute="bottom" constant="30" id="mgw-uX-VOK"/> 178 <constraint firstItem="gBg-k9-tgw" firstAttribute="top" secondItem="Bdy-dI-j47" secondAttribute="bottom" constant="30" id="mgw-uX-VOK"/>
177 <constraint firstAttribute="trailing" secondItem="YWV-pS-TCo" secondAttribute="trailing" constant="15" id="rEO-bb-Pqr"/> 179 <constraint firstAttribute="trailing" secondItem="YWV-pS-TCo" secondAttribute="trailing" constant="15" id="rEO-bb-Pqr"/>
178 <constraint firstAttribute="trailing" secondItem="caN-x7-hJz" secondAttribute="trailing" constant="16" id="rRn-Vw-t5g"/> 180 <constraint firstAttribute="trailing" secondItem="caN-x7-hJz" secondAttribute="trailing" constant="16" id="rRn-Vw-t5g"/>
179 <constraint firstItem="Bdy-dI-j47" firstAttribute="top" secondItem="O8z-6V-YFd" secondAttribute="bottom" constant="15" id="xEO-fP-Riz"/> 181 <constraint firstItem="Bdy-dI-j47" firstAttribute="top" secondItem="O8z-6V-YFd" secondAttribute="bottom" constant="15" id="xEO-fP-Riz"/>
180 <constraint firstAttribute="trailing" secondItem="4VU-Ye-7Au" secondAttribute="trailing" id="ylN-vm-QF2"/> 182 <constraint firstAttribute="trailing" secondItem="4VU-Ye-7Au" secondAttribute="trailing" id="ylN-vm-QF2"/>
181 </constraints> 183 </constraints>
184 <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
182 <point key="canvasLocation" x="24.5" y="52.5"/> 185 <point key="canvasLocation" x="24.5" y="52.5"/>
183 </view> 186 </view>
184 </objects> 187 </objects>
185 <resources> 188 <resources>
186 <image name="icon_menu" width="30" height="30"/> 189 <image name="icon_menu" width="30" height="30"/>
187 <image name="today_back_button" width="73" height="37"/> 190 <image name="today_back_button" width="73" height="37"/>
188 </resources> 191 </resources>
189 </document> 192 </document>
190 193
LifeLog/LifeLog/MyGroupViewController.h
1 // 1 //
2 // MyGroupViewController.h 2 // MyGroupViewController.h
3 // LifeLog 3 // LifeLog
4 // 4 //
5 // Created by nvtu on 8/20/17. 5 // Created by nvtu on 8/20/17.
6 // Copyright © 2017 PhongNV. All rights reserved. 6 // Copyright © 2017 PhongNV. All rights reserved.
7 // 7 //
8 8
9 #import <UIKit/UIKit.h> 9 #import <UIKit/UIKit.h>
10 #import "BaseTableViewController.h" 10 #import "GroupDetailViewController.h"
11 #import "AutoTransButton.h" 11 #import "AutoTransButton.h"
12 #import "Entities.h" 12 #import "Entities.h"
13 13
14 @interface MyGroupViewController : BaseTableViewController { 14 @interface MyGroupViewController : GroupDetailViewController {
15 NSMutableArray *_curListGrp; 15 NSMutableArray *_curListGrp;
16 GroupObject *_curGroup;
17 BOOL isMemberList;
18 } 16 }
19 17
20 @property (weak, nonatomic) IBOutlet UITableView *tableGrp; 18 @property (weak, nonatomic) IBOutlet UITableView *tableGrp;
21
22 @property (weak, nonatomic) IBOutlet UILabel *lblGroupName;
23 @property (weak, nonatomic) IBOutlet UILabel *lblActiveMode;
24 @property (weak, nonatomic) IBOutlet UILabel *lblGoal;
25 @property (weak, nonatomic) IBOutlet UIButton *btShowGrp; 19 @property (weak, nonatomic) IBOutlet UIButton *btShowGrp;
26 @property (weak, nonatomic) IBOutlet AutoTransButton *btSwitch;
27 20
28 - (IBAction)clickBack:(id)sender;
29 - (IBAction)clickShowGrp:(id)sender; 21 - (IBAction)clickShowGrp:(id)sender;
30 - (IBAction)clickSwitch:(id)sender;
31 22
32 @end 23 @end
33 24
LifeLog/LifeLog/MyGroupViewController.m
1 // 1 //
2 // MyGroupViewController.m 2 // MyGroupViewController.m
3 // LifeLog 3 // LifeLog
4 // 4 //
5 // Created by nvtu on 8/20/17. 5 // Created by nvtu on 8/20/17.
6 // Copyright © 2017 PhongNV. All rights reserved. 6 // Copyright © 2017 PhongNV. All rights reserved.
7 // 7 //
8 8
9 #import "MyGroupViewController.h" 9 #import "MyGroupViewController.h"
10 #import <SDWebImage/UIImageView+WebCache.h> 10 #import <SDWebImage/UIImageView+WebCache.h>
11 11
12 #import "Utilities.h" 12 #import "Utilities.h"
13 #import "ServerAPI.h" 13 #import "ServerAPI.h"
14 #import "SNSRecentTopicTableViewCell.h" 14 #import "SNSRecentTopicTableViewCell.h"
15 15
16 @interface MyGroupViewController () 16 @interface MyGroupViewController ()
17 17
18 @end 18 @end
19 19
20 @implementation MyGroupViewController 20 @implementation MyGroupViewController
21 21
22 - (void)viewDidLoad { 22 - (void)viewDidLoad {
23 [super viewDidLoad]; 23 [super viewDidLoad];
24 isMemberList = false; 24 isMemberList = false;
25 _curListGrp = [[NSMutableArray alloc] init]; 25 _curListGrp = [[NSMutableArray alloc] init];
26 [self.tableBase registerNib:[UINib nibWithNibName:@"SNSRecentTopicTableViewCell" bundle:nil] forCellReuseIdentifier:@"RecentTopicCell"]; 26 [self.tableBase registerNib:[UINib nibWithNibName:@"SNSRecentTopicTableViewCell" bundle:nil] forCellReuseIdentifier:@"RecentTopicCell"];
27 27
28 [self requestGroupList]; 28 [self requestGroupList];
29 // Do any additional setup after loading the view from its nib. 29 // Do any additional setup after loading the view from its nib.
30 } 30 }
31 31
32 - (void)didReceiveMemoryWarning { 32 - (void)didReceiveMemoryWarning {
33 [super didReceiveMemoryWarning]; 33 [super didReceiveMemoryWarning];
34 // Dispose of any resources that can be recreated. 34 // Dispose of any resources that can be recreated.
35 } 35 }
36 36
37 - (void)setupView {
38 if(_curGroup != nil) {
39 [self.lblGoal setText:_curGroup.goal];
40 NSString *mode = @"";
41 if(_curGroup.runMode) {
42 mode = [mode stringByAppendingString:NSLocalizedString(@"lifelog.grDetail.mode.running", nil)];
43 mode = [mode stringByAppendingString:@"\n"];
44 }
45 if(_curGroup.walkMode) {
46 mode = [mode stringByAppendingString:NSLocalizedString(@"lifelog.grDetail.mode.walking", nil)];
47 mode = [mode stringByAppendingString:@"\n"];
48 }
49 if(_curGroup.bikeMode) {
50 mode = [mode stringByAppendingString:NSLocalizedString(@"lifelog.grDetail.mode.bike", nil)];
51 mode = [mode stringByAppendingString:@"\n"];
52 }
53 if(_curGroup.stepMode) {
54 mode = [mode stringByAppendingString:NSLocalizedString(@"lifelog.grDetail.mode.step", nil)];
55 mode = [mode stringByAppendingString:@"\n"];
56 }
57 if(_curGroup.beginMode) {
58 mode = [mode stringByAppendingString:NSLocalizedString(@"lifelog.grDetail.mode.begin", nil)];
59 mode = [mode stringByAppendingString:@"\n"];
60 }
61 if(_curGroup.gymMode) {
62 mode = [mode stringByAppendingString:NSLocalizedString(@"lifelog.grDetail.mode.gym", nil)];
63 mode = [mode stringByAppendingString:@"\n"];
64 }
65 NSRange range = [mode rangeOfString:@"\n" options:NSBackwardsSearch];
66 if(range.length > 0) {
67 mode = [mode stringByReplacingOccurrencesOfString:@"\n" withString:@"" options:NSBackwardsSearch range:range];
68 }
69 self.lblActiveMode.text = mode;
70 }
71 }
72
73 #pragma mark IBAction 37 #pragma mark IBAction
74 38
75 - (IBAction)clickBack:(id)sender { 39 - (IBAction)clickBack:(id)sender {
76 [self.navigationController popViewControllerAnimated:true]; 40 [self.navigationController popViewControllerAnimated:true];
77 } 41 }
78 42
79 - (IBAction)clickShowGrp:(id)sender { 43 - (IBAction)clickShowGrp:(id)sender {
80 self.tableGrp.hidden = !self.tableGrp.isHidden; 44 self.tableGrp.hidden = !self.tableGrp.isHidden;
81 } 45 }
82 46
83 - (IBAction)clickSwitch:(id)sender { 47 - (IBAction)clickSwitch:(id)sender {
84 isMemberList = !isMemberList; 48 isMemberList = !isMemberList;
85 if(isMemberList) { 49 if(isMemberList) {
86 [sender setTitle:NSLocalizedString(@"lifelog.grDetail.bt.viewTweet", nil) forState:UIControlStateNormal]; 50 [sender setTitle:NSLocalizedString(@"lifelog.grDetail.bt.viewTweet", nil) forState:UIControlStateNormal];
87 } 51 }
88 else { 52 else {
89 [sender setTitle:NSLocalizedString(@"lifelog.grDetail.bt.viewMem", nil) forState:UIControlStateNormal]; 53 [sender setTitle:NSLocalizedString(@"lifelog.grDetail.bt.viewMem", nil) forState:UIControlStateNormal];
90 } 54 }
91 [sender setUserInteractionEnabled:false]; 55 [sender setUserInteractionEnabled:false];
92 [self resetData]; 56 [self resetData];
93 } 57 }
94 58
95 #pragma mark UITableView Delegate 59 #pragma mark UITableView Delegate
96 -(NSInteger) numberOfSectionsInTableView:(UITableView *)tableView { 60 -(NSInteger) numberOfSectionsInTableView:(UITableView *)tableView {
97 if(tableView == self.tableGrp) 61 if(tableView == self.tableGrp)
98 return 1; 62 return 1;
99 else 63 else
100 return [super numberOfSectionsInTableView:tableView]; 64 return [super numberOfSectionsInTableView:tableView];
101 } 65 }
102 66
103 - (NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 67 - (NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
104 if(tableView == self.tableGrp) 68 if(tableView == self.tableGrp)
105 return _curListGrp.count; 69 return _curListGrp.count;
106 else 70 else
107 return [super tableView:tableView numberOfRowsInSection:section]; 71 return [super tableView:tableView numberOfRowsInSection:section];
108 } 72 }
109 73
110 - (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 74 - (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
111 if(tableView == self.tableGrp) { 75 if(tableView == self.tableGrp) {
112 UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"GroupCell"]; 76 UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"GroupCell"];
113 if(cell == nil) { 77 if(cell == nil) {
114 cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"GroupCell"]; 78 cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"GroupCell"];
115 } 79 }
116 GroupObject *object = [_curListGrp objectAtIndex:indexPath.row]; 80 GroupObject *object = [_curListGrp objectAtIndex:indexPath.row];
117 cell.textLabel.text = object.name; 81 cell.textLabel.text = object.name;
118 return cell; 82 return cell;
119 } 83 }
120 else { 84 else {
121 SNSRecentTopicTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"RecentTopicCell"]; 85 SNSRecentTopicTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"RecentTopicCell"];
122 if(isMemberList) { 86 if(isMemberList) {
123 MemberObject *object = [_curDataList objectAtIndex:indexPath.row]; 87 MemberObject *object = [_curDataList objectAtIndex:indexPath.row];
124 if(object.avatar && ![object.avatar isKindOfClass:[NSNull class]]) { 88 if(object.avatar && ![object.avatar isKindOfClass:[NSNull class]]) {
125 [cell.imgAvatar sd_setImageWithURL:[NSURL URLWithString:[Utilities getImageLink:object.avatar]]]; 89 [cell.imgAvatar sd_setImageWithURL:[NSURL URLWithString:[Utilities getImageLink:object.avatar]]];
126 } 90 }
127 else { 91 else {
128 [cell.imgAvatar setImage:[UIImage imageNamed:@"avatar_default"]]; 92 [cell.imgAvatar setImage:[UIImage imageNamed:@"avatar_default"]];
129 } 93 }
130 cell.lblUsername.text = @""; 94 cell.lblUsername.text = @"";
131 cell.lblDateTime.text = @""; 95 cell.lblDateTime.text = @"";
132 cell.lblDes.text = object.userName; 96 cell.lblDes.text = object.userName;
133 cell.lblMode.text = @""; 97 cell.lblMode.text = @"";
134 cell.lblDistance.text = @""; 98 cell.lblDistance.text = @"";
135 cell.lblDuration.text = @""; 99 cell.lblDuration.text = @"";
136 } 100 }
137 else { 101 else {
138 TweetObject *object = [_curDataList objectAtIndex:indexPath.row]; 102 TweetObject *object = [_curDataList objectAtIndex:indexPath.row];
139 if(object.avatar && ![object.avatar isKindOfClass:[NSNull class]]) { 103 if(object.avatar && ![object.avatar isKindOfClass:[NSNull class]]) {
140 [cell.imgAvatar sd_setImageWithURL:[NSURL URLWithString:[Utilities getImageLink:object.avatar]]]; 104 [cell.imgAvatar sd_setImageWithURL:[NSURL URLWithString:[Utilities getImageLink:object.avatar]]];
141 } 105 }
142 else { 106 else {
143 [cell.imgAvatar setImage:[UIImage imageNamed:@"avatar_default"]]; 107 [cell.imgAvatar setImage:[UIImage imageNamed:@"avatar_default"]];
144 } 108 }
145 cell.lblDateTime.text = [Utilities stringFromDate:object.createDate withFormat:@"YYYY/MM/dd hh:mm"]; 109 cell.lblDateTime.text = [Utilities stringFromDate:object.createDate withFormat:@"YYYY/MM/dd hh:mm"];
146 cell.lblUsername.text = object.userName; 110 cell.lblUsername.text = object.userName;
147 cell.lblDes.text = object.content; 111 cell.lblDes.text = object.content;
148 cell.lblMode.text = object.mode; 112 cell.lblMode.text = object.mode;
149 cell.lblDistance.text = [NSString stringWithFormat:@"%.0f m", object.distance]; 113 cell.lblDistance.text = [NSString stringWithFormat:@"%.0f m", object.distance];
150 cell.lblDuration.text = object.time; 114 cell.lblDuration.text = object.time;
151 } 115 }
152 return cell; 116 return cell;
153 } 117 }
154 } 118 }
155 119
156 - (void) tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { 120 - (void) tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
157 if(tableView == self.tableGrp) { 121 if(tableView == self.tableGrp) {
158 return; 122 return;
159 } 123 }
160 [super tableView:tableView willDisplayCell:cell forRowAtIndexPath:indexPath]; 124 [super tableView:tableView willDisplayCell:cell forRowAtIndexPath:indexPath];
161 } 125 }
162 126
163 -(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 127 -(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
164 if(tableView == self.tableGrp) { 128 if(tableView == self.tableGrp) {
165 [tableView setHidden:true]; 129 [tableView setHidden:true];
166 [self resetGroupData:indexPath.row]; 130 [self resetGroupData:indexPath.row];
167 } 131 }
168 } 132 }
169 133
170 #pragma mark Private Function 134 #pragma mark Private Function
171 135
172 - (void) resetGroupData : (int) index { 136 - (void) resetGroupData : (int) index {
173 _curGroup = [_curListGrp objectAtIndex:index]; 137 _curGroup = [_curListGrp objectAtIndex:index];
174 self.lblGroupName.text = _curGroup.name; 138 self.lblGrpName.text = _curGroup.name;
175 [_curDataList removeAllObjects]; 139 [_curDataList removeAllObjects];
176 [self.tableBase reloadData]; 140 [self.tableBase reloadData];
177 [self requestGroupDetail]; 141 [self requestGroupDetail];
178 } 142 }
179 143
180 - (void) requestGroupList { 144 - (void) requestGroupList {
181 NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken]; 145 NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken];
182 MBProgressHUD *hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true]; 146 MBProgressHUD *hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true];
183 [[ServerAPI server] requestGroupList:token CompletionHandler:^(NSArray *array, NSError *error) { 147 [[ServerAPI server] requestGroupList:token CompletionHandler:^(NSArray *array, NSError *error) {
148 dispatch_async(dispatch_get_main_queue(), ^{
149 [hudView hideAnimated:true];
150 });
184 if(error == nil) { 151 if(error == nil) {
185 [_curListGrp removeAllObjects]; 152 [_curListGrp removeAllObjects];
186 [_curListGrp addObjectsFromArray:array]; 153 [_curListGrp addObjectsFromArray:array];
187 MyGroupViewController __weak *weakSelf = self; 154 MyGroupViewController __weak *weakSelf = self;
188 dispatch_async(dispatch_get_main_queue(), ^{ 155 dispatch_async(dispatch_get_main_queue(), ^{
189 [hudView hideAnimated:true]; 156 [hudView hideAnimated:true];
190 [self.tableGrp reloadData]; 157 [self.tableGrp reloadData];
191 if(_curListGrp.count > 0) { 158 if(_curListGrp.count > 0) {
192 [weakSelf resetGroupData:0]; 159 [weakSelf resetGroupData:0];
193 } 160 }
194 else { 161 else {
195 weakSelf.lblGroupName.text = @"No Group"; 162 weakSelf.lblGrpName.text = @"No Group";
196 } 163 }
197 [weakSelf.btShowGrp setEnabled:(_curListGrp.count > 0)]; 164 [weakSelf.btShowGrp setEnabled:(_curListGrp.count > 0)];
198 }); 165 });
199 } 166 }
200 }]; 167 }];
201 }
202
203 - (void) requestGroupDetail {
204 NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken];
205 MBProgressHUD *hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true];
206 [[ServerAPI server] getGroupDetail:token withGroupID:_curGroup.groupID CompletionHandler:^(GroupObject *object, NSError *error) {
207 MyGroupViewController __weak *weakSelf = self;
208 [_curGroup updateDate:object];
209 dispatch_async(dispatch_get_main_queue(), ^{
210 [hudView hideAnimated:true];
211 [weakSelf setupView];
212 [weakSelf callRequestToUpdateData];
213 });
214 }];
215 }
216
217 -(void) callRequestToUpdateData {
218 [super callRequestToUpdateData];
219
220 NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken];
221 MBProgressHUD *hudView = nil;
222 if(_curPage == 1 && !self.refreshControl.isRefreshing) {
223 hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true];
224 }
225 if(isMemberList) {
226 [[ServerAPI server] requestMemberList:token groupID:_curGroup.groupID withPage:_curPage CompletionHandler:^(NSArray *array, NSError *error){
227 dispatch_async(dispatch_get_main_queue(), ^{
228 if(hudView != nil) {
229 [hudView hideAnimated:true];
230 }
231 });
232 MyGroupViewController __weak *weakSelf = self;
233 [weakSelf updateTableData:array error:error];
234 [weakSelf.btSwitch setUserInteractionEnabled:true];
235 }];
236 }
237 else {
238 [[ServerAPI server] requestTweetsList:token groupID:_curGroup.groupID withPage:_curPage CompletionHandler:^(NSArray *array, NSError *error){
239 dispatch_async(dispatch_get_main_queue(), ^{
240 if(hudView != nil) {
241 [hudView hideAnimated:true];
242 }
243 });
244 MyGroupViewController __weak *weakSelf = self;
245 [weakSelf updateTableData:array error:error];
246 [weakSelf.btSwitch setUserInteractionEnabled:true];
247 }];
248 }
249 } 168 }
LifeLog/LifeLog/MyGroupViewController.xib
1 <?xml version="1.0" encoding="UTF-8"?> 1 <?xml version="1.0" encoding="UTF-8"?>
2 <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="12118" systemVersion="16D32" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES"> 2 <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="12118" systemVersion="16D32" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
3 <device id="retina4_7" orientation="portrait"> 3 <device id="retina4_7" orientation="portrait">
4 <adaptation id="fullscreen"/> 4 <adaptation id="fullscreen"/>
5 </device> 5 </device>
6 <dependencies> 6 <dependencies>
7 <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12086"/> 7 <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12086"/>
8 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> 8 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
9 </dependencies> 9 </dependencies>
10 <objects> 10 <objects>
11 <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="MyGroupViewController"> 11 <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="MyGroupViewController">
12 <connections> 12 <connections>
13 <outlet property="btShowGrp" destination="MvK-5R-njL" id="bcb-N7-jbu"/> 13 <outlet property="btShowGrp" destination="MvK-5R-njL" id="bcb-N7-jbu"/>
14 <outlet property="btSwitch" destination="eBu-7L-nsx" id="od6-v0-6eh"/> 14 <outlet property="btSwitch" destination="eBu-7L-nsx" id="od6-v0-6eh"/>
15 <outlet property="lblActiveMode" destination="P1r-ft-imP" id="WRV-YQ-1IY"/> 15 <outlet property="lbbGrpActiveMode" destination="P1r-ft-imP" id="gw7-xu-kL1"/>
16 <outlet property="lblGoal" destination="ftA-wa-19F" id="Ziv-cg-at5"/> 16 <outlet property="lblGrpGoal" destination="ftA-wa-19F" id="YFk-py-xd2"/>
17 <outlet property="lblGroupName" destination="xXv-SO-m4h" id="yGe-lh-RC3"/> 17 <outlet property="lblGrpName" destination="xXv-SO-m4h" id="qik-wo-Usx"/>
18 <outlet property="tableBase" destination="ubS-v9-zCa" id="gea-9H-gpI"/> 18 <outlet property="tableBase" destination="ubS-v9-zCa" id="gea-9H-gpI"/>
19 <outlet property="tableGrp" destination="dtD-J5-dze" id="ahq-Cd-85X"/> 19 <outlet property="tableGrp" destination="dtD-J5-dze" id="ahq-Cd-85X"/>
20 <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> 20 <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
21 </connections> 21 </connections>
22 </placeholder> 22 </placeholder>
23 <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> 23 <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
24 <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> 24 <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT">
25 <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> 25 <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
26 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> 26 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
27 <subviews> 27 <subviews>
28 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="vxT-xe-7mV" userLabel="ViewHeader"> 28 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="vxT-xe-7mV" userLabel="ViewHeader">
29 <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> 29 <rect key="frame" x="0.0" y="0.0" width="375" height="46"/>
30 <subviews> 30 <subviews>
31 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="SNS" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Txe-1I-61m" customClass="AutoTransLabel"> 31 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="SNS" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Txe-1I-61m" customClass="AutoTransLabel">
32 <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> 32 <rect key="frame" x="0.0" y="0.0" width="375" height="46"/>
33 <fontDescription key="fontDescription" type="system" pointSize="17"/> 33 <fontDescription key="fontDescription" type="system" pointSize="17"/>
34 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 34 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
35 <nil key="highlightedColor"/> 35 <nil key="highlightedColor"/>
36 <userDefinedRuntimeAttributes> 36 <userDefinedRuntimeAttributes>
37 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.grDetail.title"/> 37 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.grDetail.title"/>
38 </userDefinedRuntimeAttributes> 38 </userDefinedRuntimeAttributes>
39 </label> 39 </label>
40 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="DjI-qB-WTG"> 40 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="DjI-qB-WTG">
41 <rect key="frame" x="0.0" y="5" width="70" height="36"/> 41 <rect key="frame" x="0.0" y="5" width="70" height="36"/>
42 <constraints> 42 <constraints>
43 <constraint firstAttribute="width" constant="70" id="Q1G-tI-sgx"/> 43 <constraint firstAttribute="width" constant="70" id="Q1G-tI-sgx"/>
44 </constraints> 44 </constraints>
45 <state key="normal" image="today_back_button"/> 45 <state key="normal" image="today_back_button"/>
46 <connections> 46 <connections>
47 <action selector="clickBack:" destination="-1" eventType="touchUpInside" id="93y-uZ-J2W"/> 47 <action selector="clickBack:" destination="-1" eventType="touchUpInside" id="93y-uZ-J2W"/>
48 </connections> 48 </connections>
49 </button> 49 </button>
50 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="7gh-nf-sKZ"> 50 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="7gh-nf-sKZ">
51 <rect key="frame" x="330" y="0.0" width="45" height="46"/> 51 <rect key="frame" x="330" y="0.0" width="45" height="46"/>
52 <constraints> 52 <constraints>
53 <constraint firstAttribute="width" constant="45" id="Vw3-60-kvV"/> 53 <constraint firstAttribute="width" constant="45" id="Vw3-60-kvV"/>
54 </constraints> 54 </constraints>
55 <state key="normal" image="icon_menu"/> 55 <state key="normal" image="icon_menu"/>
56 </button> 56 </button>
57 </subviews> 57 </subviews>
58 <color key="backgroundColor" red="0.098039215690000001" green="0.098039215690000001" blue="0.098039215690000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> 58 <color key="backgroundColor" red="0.098039215690000001" green="0.098039215690000001" blue="0.098039215690000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
59 <constraints> 59 <constraints>
60 <constraint firstAttribute="trailing" secondItem="7gh-nf-sKZ" secondAttribute="trailing" id="2JD-YU-WS2"/> 60 <constraint firstAttribute="trailing" secondItem="7gh-nf-sKZ" secondAttribute="trailing" id="2JD-YU-WS2"/>
61 <constraint firstItem="Txe-1I-61m" firstAttribute="leading" secondItem="vxT-xe-7mV" secondAttribute="leading" id="30c-J3-6ba"/> 61 <constraint firstItem="Txe-1I-61m" firstAttribute="leading" secondItem="vxT-xe-7mV" secondAttribute="leading" id="30c-J3-6ba"/>
62 <constraint firstAttribute="bottom" secondItem="7gh-nf-sKZ" secondAttribute="bottom" id="61g-Gv-ka0"/> 62 <constraint firstAttribute="bottom" secondItem="7gh-nf-sKZ" secondAttribute="bottom" id="61g-Gv-ka0"/>
63 <constraint firstAttribute="bottom" secondItem="Txe-1I-61m" secondAttribute="bottom" id="BZZ-wj-MGj"/> 63 <constraint firstAttribute="bottom" secondItem="Txe-1I-61m" secondAttribute="bottom" id="BZZ-wj-MGj"/>
64 <constraint firstItem="7gh-nf-sKZ" firstAttribute="top" secondItem="vxT-xe-7mV" secondAttribute="top" id="DKT-Ea-U3k"/> 64 <constraint firstItem="7gh-nf-sKZ" firstAttribute="top" secondItem="vxT-xe-7mV" secondAttribute="top" id="DKT-Ea-U3k"/>
65 <constraint firstAttribute="trailing" secondItem="Txe-1I-61m" secondAttribute="trailing" id="WA1-1W-49C"/> 65 <constraint firstAttribute="trailing" secondItem="Txe-1I-61m" secondAttribute="trailing" id="WA1-1W-49C"/>
66 <constraint firstItem="DjI-qB-WTG" firstAttribute="leading" secondItem="vxT-xe-7mV" secondAttribute="leading" id="tA3-JF-Kjj"/> 66 <constraint firstItem="DjI-qB-WTG" firstAttribute="leading" secondItem="vxT-xe-7mV" secondAttribute="leading" id="tA3-JF-Kjj"/>
67 <constraint firstAttribute="bottom" secondItem="DjI-qB-WTG" secondAttribute="bottom" constant="5" id="uFc-I1-M2c"/> 67 <constraint firstAttribute="bottom" secondItem="DjI-qB-WTG" secondAttribute="bottom" constant="5" id="uFc-I1-M2c"/>
68 <constraint firstItem="Txe-1I-61m" firstAttribute="top" secondItem="vxT-xe-7mV" secondAttribute="top" id="ucO-rK-wAV"/> 68 <constraint firstItem="Txe-1I-61m" firstAttribute="top" secondItem="vxT-xe-7mV" secondAttribute="top" id="ucO-rK-wAV"/>
69 <constraint firstItem="DjI-qB-WTG" firstAttribute="top" secondItem="vxT-xe-7mV" secondAttribute="top" constant="5" id="vR3-xv-3hD"/> 69 <constraint firstItem="DjI-qB-WTG" firstAttribute="top" secondItem="vxT-xe-7mV" secondAttribute="top" constant="5" id="vR3-xv-3hD"/>
70 <constraint firstAttribute="height" constant="46" id="yIJ-Mu-bPA"/> 70 <constraint firstAttribute="height" constant="46" id="yIJ-Mu-bPA"/>
71 </constraints> 71 </constraints>
72 </view> 72 </view>
73 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="hhh-nO-yn5"> 73 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="hhh-nO-yn5">
74 <rect key="frame" x="15" y="54" width="345" height="36"/> 74 <rect key="frame" x="15" y="54" width="345" height="36"/>
75 <subviews> 75 <subviews>
76 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="MvK-5R-njL"> 76 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="MvK-5R-njL">
77 <rect key="frame" x="289" y="0.0" width="56" height="36"/> 77 <rect key="frame" x="289" y="0.0" width="56" height="36"/>
78 <constraints> 78 <constraints>
79 <constraint firstAttribute="width" constant="56" id="l8Q-On-RNy"/> 79 <constraint firstAttribute="width" constant="56" id="l8Q-On-RNy"/>
80 </constraints> 80 </constraints>
81 <state key="normal" backgroundImage="arrow_down"/> 81 <state key="normal" backgroundImage="arrow_down"/>
82 <connections> 82 <connections>
83 <action selector="clickShowGrp:" destination="-1" eventType="touchUpInside" id="yfd-Yu-fTF"/> 83 <action selector="clickShowGrp:" destination="-1" eventType="touchUpInside" id="yfd-Yu-fTF"/>
84 </connections> 84 </connections>
85 </button> 85 </button>
86 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="xXv-SO-m4h"> 86 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="No group" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="xXv-SO-m4h">
87 <rect key="frame" x="5" y="0.0" width="284" height="36"/> 87 <rect key="frame" x="5" y="0.0" width="284" height="36"/>
88 <fontDescription key="fontDescription" type="system" pointSize="16"/> 88 <fontDescription key="fontDescription" type="system" pointSize="15"/>
89 <nil key="textColor"/> 89 <nil key="textColor"/>
90 <nil key="highlightedColor"/> 90 <nil key="highlightedColor"/>
91 </label> 91 </label>
92 </subviews> 92 </subviews>
93 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 93 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
94 <constraints> 94 <constraints>
95 <constraint firstAttribute="trailing" secondItem="MvK-5R-njL" secondAttribute="trailing" id="IS8-5J-ypb"/> 95 <constraint firstAttribute="trailing" secondItem="MvK-5R-njL" secondAttribute="trailing" id="IS8-5J-ypb"/>
96 <constraint firstAttribute="bottom" secondItem="MvK-5R-njL" secondAttribute="bottom" id="IVS-f9-RjH"/> 96 <constraint firstAttribute="bottom" secondItem="MvK-5R-njL" secondAttribute="bottom" id="IVS-f9-RjH"/>
97 <constraint firstAttribute="bottom" secondItem="xXv-SO-m4h" secondAttribute="bottom" id="Ino-7v-CKz"/> 97 <constraint firstAttribute="bottom" secondItem="xXv-SO-m4h" secondAttribute="bottom" id="Ino-7v-CKz"/>
98 <constraint firstItem="MvK-5R-njL" firstAttribute="top" secondItem="hhh-nO-yn5" secondAttribute="top" id="NlH-tz-ByC"/> 98 <constraint firstItem="MvK-5R-njL" firstAttribute="top" secondItem="hhh-nO-yn5" secondAttribute="top" id="NlH-tz-ByC"/>
99 <constraint firstAttribute="height" constant="36" id="O8T-vH-tg6"/> 99 <constraint firstAttribute="height" constant="36" id="O8T-vH-tg6"/>
100 <constraint firstItem="MvK-5R-njL" firstAttribute="leading" secondItem="xXv-SO-m4h" secondAttribute="trailing" id="V51-fg-KCf"/> 100 <constraint firstItem="MvK-5R-njL" firstAttribute="leading" secondItem="xXv-SO-m4h" secondAttribute="trailing" id="V51-fg-KCf"/>
101 <constraint firstItem="xXv-SO-m4h" firstAttribute="leading" secondItem="hhh-nO-yn5" secondAttribute="leading" constant="5" id="eY6-uq-qWx"/> 101 <constraint firstItem="xXv-SO-m4h" firstAttribute="leading" secondItem="hhh-nO-yn5" secondAttribute="leading" constant="5" id="eY6-uq-qWx"/>
102 <constraint firstItem="xXv-SO-m4h" firstAttribute="top" secondItem="hhh-nO-yn5" secondAttribute="top" id="l3a-Th-4Kb"/> 102 <constraint firstItem="xXv-SO-m4h" firstAttribute="top" secondItem="hhh-nO-yn5" secondAttribute="top" id="l3a-Th-4Kb"/>
103 </constraints> 103 </constraints>
104 <userDefinedRuntimeAttributes> 104 <userDefinedRuntimeAttributes>
105 <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> 105 <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
106 <integer key="value" value="5"/> 106 <integer key="value" value="5"/>
107 </userDefinedRuntimeAttribute> 107 </userDefinedRuntimeAttribute>
108 </userDefinedRuntimeAttributes> 108 </userDefinedRuntimeAttributes>
109 </view> 109 </view>
110 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="SNe-1B-nwV"> 110 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="SNe-1B-nwV">
111 <rect key="frame" x="15" y="105" width="345" height="105"/> 111 <rect key="frame" x="15" y="105" width="345" height="105"/>
112 <subviews> 112 <subviews>
113 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="グループ VMAP アメリカルート61完走" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hyY-rU-WJx"> 113 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="グループ VMAP アメリカルート61完走" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hyY-rU-WJx">
114 <rect key="frame" x="8" y="8" width="329" height="20"/> 114 <rect key="frame" x="8" y="8" width="329" height="20"/>
115 <constraints> 115 <constraints>
116 <constraint firstAttribute="height" constant="20" id="dx4-Lw-gRP"/> 116 <constraint firstAttribute="height" constant="20" id="dx4-Lw-gRP"/>
117 </constraints> 117 </constraints>
118 <fontDescription key="fontDescription" type="system" pointSize="15"/> 118 <fontDescription key="fontDescription" type="system" pointSize="14"/>
119 <nil key="textColor"/> 119 <nil key="textColor"/>
120 <nil key="highlightedColor"/> 120 <nil key="highlightedColor"/>
121 </label> 121 </label>
122 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="P1r-ft-imP"> 122 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="P1r-ft-imP">
123 <rect key="frame" x="8" y="36" width="155" height="61"/> 123 <rect key="frame" x="8" y="36" width="155" height="61"/>
124 <constraints> 124 <constraints>
125 <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="61" id="6m3-4u-yjQ"/> 125 <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="61" id="6m3-4u-yjQ"/>
126 <constraint firstAttribute="width" constant="155" id="bJa-4P-B84"/> 126 <constraint firstAttribute="width" constant="155" id="bJa-4P-B84"/>
127 </constraints> 127 </constraints>
128 <fontDescription key="fontDescription" type="system" pointSize="15"/> 128 <fontDescription key="fontDescription" type="system" pointSize="14"/>
129 <nil key="textColor"/> 129 <nil key="textColor"/>
130 <nil key="highlightedColor"/> 130 <nil key="highlightedColor"/>
131 </label> 131 </label>
132 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="fXA-Zh-ABB" customClass="AutoTransButton"> 132 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="fXA-Zh-ABB" customClass="AutoTransButton">
133 <rect key="frame" x="171" y="67" width="166" height="30"/> 133 <rect key="frame" x="171" y="67" width="166" height="30"/>
134 <color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/> 134 <color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/>
135 <constraints> 135 <constraints>
136 <constraint firstAttribute="height" constant="30" id="4bu-TU-hhR"/> 136 <constraint firstAttribute="height" constant="30" id="4bu-TU-hhR"/>
137 <constraint firstAttribute="width" constant="166" id="hcm-Nd-TE4"/> 137 <constraint firstAttribute="width" constant="166" id="hcm-Nd-TE4"/>
138 </constraints> 138 </constraints>
139 <state key="normal" title="VMAP"> 139 <state key="normal" title="VMAP">
140 <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 140 <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
141 </state> 141 </state>
142 <userDefinedRuntimeAttributes> 142 <userDefinedRuntimeAttributes>
143 <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> 143 <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
144 <integer key="value" value="10"/> 144 <integer key="value" value="10"/>
145 </userDefinedRuntimeAttribute> 145 </userDefinedRuntimeAttribute>
146 </userDefinedRuntimeAttributes> 146 </userDefinedRuntimeAttributes>
147 </button> 147 </button>
148 </subviews> 148 </subviews>
149 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 149 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
150 <constraints> 150 <constraints>
151 <constraint firstItem="P1r-ft-imP" firstAttribute="leading" secondItem="SNe-1B-nwV" secondAttribute="leading" constant="8" id="PCO-gJ-aUC"/> 151 <constraint firstItem="P1r-ft-imP" firstAttribute="leading" secondItem="SNe-1B-nwV" secondAttribute="leading" constant="8" id="PCO-gJ-aUC"/>
152 <constraint firstItem="P1r-ft-imP" firstAttribute="top" secondItem="hyY-rU-WJx" secondAttribute="bottom" constant="8" id="TFE-rm-YuC"/> 152 <constraint firstItem="P1r-ft-imP" firstAttribute="top" secondItem="hyY-rU-WJx" secondAttribute="bottom" constant="8" id="TFE-rm-YuC"/>
153 <constraint firstItem="hyY-rU-WJx" firstAttribute="leading" secondItem="SNe-1B-nwV" secondAttribute="leading" constant="8" id="Urc-sV-0AF"/> 153 <constraint firstItem="hyY-rU-WJx" firstAttribute="leading" secondItem="SNe-1B-nwV" secondAttribute="leading" constant="8" id="Urc-sV-0AF"/>
154 <constraint firstAttribute="bottom" secondItem="P1r-ft-imP" secondAttribute="bottom" constant="8" id="YYl-bN-XH2"/> 154 <constraint firstAttribute="bottom" secondItem="P1r-ft-imP" secondAttribute="bottom" constant="8" id="YYl-bN-XH2"/>
155 <constraint firstItem="hyY-rU-WJx" firstAttribute="top" secondItem="SNe-1B-nwV" secondAttribute="top" constant="8" id="a68-ja-X4x"/> 155 <constraint firstItem="hyY-rU-WJx" firstAttribute="top" secondItem="SNe-1B-nwV" secondAttribute="top" constant="8" id="a68-ja-X4x"/>
156 <constraint firstAttribute="trailing" secondItem="fXA-Zh-ABB" secondAttribute="trailing" constant="8" id="hNz-cE-JQc"/> 156 <constraint firstAttribute="trailing" secondItem="fXA-Zh-ABB" secondAttribute="trailing" constant="8" id="hNz-cE-JQc"/>
157 <constraint firstAttribute="trailing" secondItem="hyY-rU-WJx" secondAttribute="trailing" constant="8" id="tHp-Xw-Emj"/> 157 <constraint firstAttribute="trailing" secondItem="hyY-rU-WJx" secondAttribute="trailing" constant="8" id="tHp-Xw-Emj"/>
158 <constraint firstAttribute="bottom" secondItem="fXA-Zh-ABB" secondAttribute="bottom" constant="8" id="vRs-Al-kct"/> 158 <constraint firstAttribute="bottom" secondItem="fXA-Zh-ABB" secondAttribute="bottom" constant="8" id="vRs-Al-kct"/>
159 </constraints> 159 </constraints>
160 </view> 160 </view>
161 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ftA-wa-19F"> 161 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ftA-wa-19F">
162 <rect key="frame" x="15" y="218" width="345" height="100"/> 162 <rect key="frame" x="15" y="218" width="345" height="40"/>
163 <constraints> 163 <constraints>
164 <constraint firstAttribute="height" constant="100" id="sns-tn-c0d"/> 164 <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="40" id="sns-tn-c0d"/>
165 </constraints> 165 </constraints>
166 <fontDescription key="fontDescription" type="system" pointSize="17"/> 166 <fontDescription key="fontDescription" type="system" pointSize="14"/>
167 <nil key="textColor"/> 167 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
168 <nil key="highlightedColor"/> 168 <nil key="highlightedColor"/>
169 </label> 169 </label>
170 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="eBu-7L-nsx" customClass="AutoTransButton"> 170 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="eBu-7L-nsx" customClass="AutoTransButton">
171 <rect key="frame" x="194" y="328" width="166" height="30"/> 171 <rect key="frame" x="194" y="268" width="166" height="30"/>
172 <color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/> 172 <color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/>
173 <constraints> 173 <constraints>
174 <constraint firstAttribute="width" constant="166" id="Rrn-lf-raV"/> 174 <constraint firstAttribute="width" constant="166" id="Rrn-lf-raV"/>
175 <constraint firstAttribute="height" constant="30" id="y2E-RH-aan"/> 175 <constraint firstAttribute="height" constant="30" id="y2E-RH-aan"/>
176 </constraints> 176 </constraints>
177 <state key="normal" title="メンバー"> 177 <state key="normal" title="メンバー">
178 <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 178 <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
179 </state> 179 </state>
180 <userDefinedRuntimeAttributes> 180 <userDefinedRuntimeAttributes>
181 <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> 181 <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
182 <integer key="value" value="10"/> 182 <integer key="value" value="10"/>
183 </userDefinedRuntimeAttribute> 183 </userDefinedRuntimeAttribute>
184 </userDefinedRuntimeAttributes> 184 </userDefinedRuntimeAttributes>
185 <connections> 185 <connections>
186 <action selector="clickSwitch:" destination="-1" eventType="touchUpInside" id="B7a-Hl-IlY"/> 186 <action selector="clickSwitch:" destination="-1" eventType="touchUpInside" id="B7a-Hl-IlY"/>
187 </connections> 187 </connections>
188 </button> 188 </button>
189 <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="none" rowHeight="100" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="ubS-v9-zCa"> 189 <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="none" rowHeight="100" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="ubS-v9-zCa">
190 <rect key="frame" x="0.0" y="373" width="375" height="244"/> 190 <rect key="frame" x="0.0" y="313" width="375" height="304"/>
191 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> 191 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
192 <connections> 192 <connections>
193 <outlet property="dataSource" destination="-1" id="HIG-w5-mXN"/> 193 <outlet property="dataSource" destination="-1" id="HIG-w5-mXN"/>
194 <outlet property="delegate" destination="-1" id="GIa-bX-Av9"/> 194 <outlet property="delegate" destination="-1" id="GIa-bX-Av9"/>
195 </connections> 195 </connections>
196 </tableView> 196 </tableView>
197 <tableView hidden="YES" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="default" rowHeight="35" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="dtD-J5-dze"> 197 <tableView hidden="YES" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="default" rowHeight="35" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="dtD-J5-dze">
198 <rect key="frame" x="15" y="91" width="345" height="140"/> 198 <rect key="frame" x="15" y="91" width="345" height="140"/>
199 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 199 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
200 <constraints> 200 <constraints>
201 <constraint firstAttribute="height" constant="140" id="CrG-Ni-f6b"/> 201 <constraint firstAttribute="height" constant="140" id="CrG-Ni-f6b"/>
202 </constraints> 202 </constraints>
203 <connections> 203 <connections>
204 <outlet property="dataSource" destination="-1" id="2bH-mm-vKH"/> 204 <outlet property="dataSource" destination="-1" id="2bH-mm-vKH"/>
205 <outlet property="delegate" destination="-1" id="9tr-mh-5Ir"/> 205 <outlet property="delegate" destination="-1" id="9tr-mh-5Ir"/>
206 </connections> 206 </connections>
207 </tableView> 207 </tableView>
208 </subviews> 208 </subviews>
209 <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> 209 <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
210 <constraints> 210 <constraints>
211 <constraint firstItem="ftA-wa-19F" firstAttribute="top" secondItem="SNe-1B-nwV" secondAttribute="bottom" constant="8" id="4iN-BW-Eaa"/> 211 <constraint firstItem="ftA-wa-19F" firstAttribute="top" secondItem="SNe-1B-nwV" secondAttribute="bottom" constant="8" id="4iN-BW-Eaa"/>
212 <constraint firstItem="vxT-xe-7mV" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="5np-jI-7iK"/> 212 <constraint firstItem="vxT-xe-7mV" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="5np-jI-7iK"/>
213 <constraint firstAttribute="trailing" secondItem="eBu-7L-nsx" secondAttribute="trailing" constant="15" id="AkN-Cv-ULu"/> 213 <constraint firstAttribute="trailing" secondItem="eBu-7L-nsx" secondAttribute="trailing" constant="15" id="AkN-Cv-ULu"/>
214 <constraint firstItem="SNe-1B-nwV" firstAttribute="top" secondItem="hhh-nO-yn5" secondAttribute="bottom" constant="15" id="BL0-Cv-jlz"/> 214 <constraint firstItem="SNe-1B-nwV" firstAttribute="top" secondItem="hhh-nO-yn5" secondAttribute="bottom" constant="15" id="BL0-Cv-jlz"/>
215 <constraint firstItem="ubS-v9-zCa" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="Dt8-xl-lI8"/> 215 <constraint firstItem="ubS-v9-zCa" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="Dt8-xl-lI8"/>
216 <constraint firstAttribute="trailing" secondItem="SNe-1B-nwV" secondAttribute="trailing" constant="15" id="QiL-ts-ryc"/> 216 <constraint firstAttribute="trailing" secondItem="SNe-1B-nwV" secondAttribute="trailing" constant="15" id="QiL-ts-ryc"/>
217 <constraint firstItem="dtD-J5-dze" firstAttribute="top" secondItem="hhh-nO-yn5" secondAttribute="bottom" constant="1" id="QzJ-aS-NQ0"/> 217 <constraint firstItem="dtD-J5-dze" firstAttribute="top" secondItem="hhh-nO-yn5" secondAttribute="bottom" constant="1" id="QzJ-aS-NQ0"/>
218 <constraint firstItem="SNe-1B-nwV" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="T4b-fq-Gc8"/> 218 <constraint firstItem="SNe-1B-nwV" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="T4b-fq-Gc8"/>
219 <constraint firstAttribute="trailing" secondItem="hhh-nO-yn5" secondAttribute="trailing" constant="15" id="YB3-2b-4yx"/> 219 <constraint firstAttribute="trailing" secondItem="hhh-nO-yn5" secondAttribute="trailing" constant="15" id="YB3-2b-4yx"/>
220 <constraint firstAttribute="bottom" secondItem="ubS-v9-zCa" secondAttribute="bottom" constant="50" id="ZNH-0B-rWz"/> 220 <constraint firstAttribute="bottom" secondItem="ubS-v9-zCa" secondAttribute="bottom" constant="50" id="ZNH-0B-rWz"/>
221 <constraint firstItem="ftA-wa-19F" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="bnx-K2-jVS"/> 221 <constraint firstItem="ftA-wa-19F" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="bnx-K2-jVS"/>
222 <constraint firstAttribute="trailing" secondItem="ubS-v9-zCa" secondAttribute="trailing" id="bsK-wi-RYU"/> 222 <constraint firstAttribute="trailing" secondItem="ubS-v9-zCa" secondAttribute="trailing" id="bsK-wi-RYU"/>
223 <constraint firstAttribute="trailing" secondItem="vxT-xe-7mV" secondAttribute="trailing" id="eld-fc-V95"/> 223 <constraint firstAttribute="trailing" secondItem="vxT-xe-7mV" secondAttribute="trailing" id="eld-fc-V95"/>
224 <constraint firstItem="hhh-nO-yn5" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="gDN-Hr-2vm"/> 224 <constraint firstItem="hhh-nO-yn5" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="gDN-Hr-2vm"/>
225 <constraint firstItem="vxT-xe-7mV" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="iBy-99-6Ky"/> 225 <constraint firstItem="vxT-xe-7mV" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="iBy-99-6Ky"/>
226 <constraint firstItem="dtD-J5-dze" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="ie5-ll-WkY"/> 226 <constraint firstItem="dtD-J5-dze" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="ie5-ll-WkY"/>
227 <constraint firstAttribute="trailing" secondItem="ftA-wa-19F" secondAttribute="trailing" constant="15" id="jaz-L9-glj"/> 227 <constraint firstAttribute="trailing" secondItem="ftA-wa-19F" secondAttribute="trailing" constant="15" id="jaz-L9-glj"/>
228 <constraint firstItem="eBu-7L-nsx" firstAttribute="top" secondItem="ftA-wa-19F" secondAttribute="bottom" constant="10" id="lF2-iL-Xa6"/> 228 <constraint firstItem="eBu-7L-nsx" firstAttribute="top" secondItem="ftA-wa-19F" secondAttribute="bottom" constant="10" id="lF2-iL-Xa6"/>
229 <constraint firstItem="ubS-v9-zCa" firstAttribute="top" secondItem="eBu-7L-nsx" secondAttribute="bottom" constant="15" id="ofF-9P-pq9"/> 229 <constraint firstItem="ubS-v9-zCa" firstAttribute="top" secondItem="eBu-7L-nsx" secondAttribute="bottom" constant="15" id="ofF-9P-pq9"/>
230 <constraint firstItem="hhh-nO-yn5" firstAttribute="top" secondItem="vxT-xe-7mV" secondAttribute="bottom" constant="8" id="qIL-RX-3zl"/> 230 <constraint firstItem="hhh-nO-yn5" firstAttribute="top" secondItem="vxT-xe-7mV" secondAttribute="bottom" constant="8" id="qIL-RX-3zl"/>
231 <constraint firstAttribute="trailing" secondItem="dtD-J5-dze" secondAttribute="trailing" constant="15" id="uHa-ot-bT0"/> 231 <constraint firstAttribute="trailing" secondItem="dtD-J5-dze" secondAttribute="trailing" constant="15" id="uHa-ot-bT0"/>
232 </constraints> 232 </constraints>
233 <point key="canvasLocation" x="24.5" y="52.5"/> 233 <point key="canvasLocation" x="24.5" y="52.5"/>
234 </view> 234 </view>
235 </objects> 235 </objects>
236 <resources> 236 <resources>
237 <image name="arrow_down" width="28" height="18"/> 237 <image name="arrow_down" width="28" height="18"/>
238 <image name="icon_menu" width="30" height="30"/> 238 <image name="icon_menu" width="30" height="30"/>
239 <image name="today_back_button" width="73" height="37"/> 239 <image name="today_back_button" width="73" height="37"/>
240 </resources> 240 </resources>
241 </document> 241 </document>
242 242
LifeLog/LifeLog/SNSViewController.xib
1 <?xml version="1.0" encoding="UTF-8"?> 1 <?xml version="1.0" encoding="UTF-8"?>
2 <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="12121" systemVersion="16A323" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES"> 2 <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="12118" systemVersion="16D32" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
3 <device id="retina4_7" orientation="portrait"> 3 <device id="retina4_7" orientation="portrait">
4 <adaptation id="fullscreen"/> 4 <adaptation id="fullscreen"/>
5 </device> 5 </device>
6 <dependencies> 6 <dependencies>
7 <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12089"/> 7 <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12086"/>
8 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> 8 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
9 </dependencies> 9 </dependencies>
10 <objects> 10 <objects>
11 <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="SNSViewController"> 11 <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="SNSViewController">
12 <connections> 12 <connections>
13 <outlet property="tableBase" destination="KcG-O5-UhK" id="gDL-iU-n52"/> 13 <outlet property="tableBase" destination="KcG-O5-UhK" id="gDL-iU-n52"/>
14 <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> 14 <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
15 </connections> 15 </connections>
16 </placeholder> 16 </placeholder>
17 <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> 17 <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
18 <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> 18 <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT">
19 <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> 19 <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
20 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> 20 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
21 <subviews> 21 <subviews>
22 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="O4Q-H0-WBO" userLabel="ViewHeader"> 22 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="O4Q-H0-WBO" userLabel="ViewHeader">
23 <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> 23 <rect key="frame" x="0.0" y="0.0" width="375" height="46"/>
24 <subviews> 24 <subviews>
25 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="SNS" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="afS-51-Q5Z" customClass="AutoTransLabel"> 25 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="SNS" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="afS-51-Q5Z" customClass="AutoTransLabel">
26 <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> 26 <rect key="frame" x="0.0" y="0.0" width="375" height="46"/>
27 <fontDescription key="fontDescription" type="system" pointSize="17"/> 27 <fontDescription key="fontDescription" type="system" pointSize="17"/>
28 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 28 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
29 <nil key="highlightedColor"/> 29 <nil key="highlightedColor"/>
30 <userDefinedRuntimeAttributes> 30 <userDefinedRuntimeAttributes>
31 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.sns.title"/> 31 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.sns.title"/>
32 </userDefinedRuntimeAttributes> 32 </userDefinedRuntimeAttributes>
33 </label> 33 </label>
34 <button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="BIE-oM-ejb"> 34 <button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="BIE-oM-ejb">
35 <rect key="frame" x="0.0" y="5" width="70" height="36"/> 35 <rect key="frame" x="0.0" y="5" width="70" height="36"/>
36 <constraints> 36 <constraints>
37 <constraint firstAttribute="width" constant="70" id="ZpD-Ru-8wG"/> 37 <constraint firstAttribute="width" constant="70" id="ZpD-Ru-8wG"/>
38 </constraints> 38 </constraints>
39 <state key="normal" image="today_back_button"/> 39 <state key="normal" image="today_back_button"/>
40 </button> 40 </button>
41 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="CJn-w1-o2o"> 41 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="CJn-w1-o2o">
42 <rect key="frame" x="330" y="0.0" width="45" height="46"/> 42 <rect key="frame" x="330" y="0.0" width="45" height="46"/>
43 <constraints> 43 <constraints>
44 <constraint firstAttribute="width" constant="45" id="5jv-6w-JAE"/> 44 <constraint firstAttribute="width" constant="45" id="5jv-6w-JAE"/>
45 </constraints> 45 </constraints>
46 <state key="normal" image="icon_menu"/> 46 <state key="normal" image="icon_menu"/>
47 </button> 47 </button>
48 </subviews> 48 </subviews>
49 <color key="backgroundColor" red="0.098039215690000001" green="0.098039215690000001" blue="0.098039215690000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> 49 <color key="backgroundColor" red="0.098039215690000001" green="0.098039215690000001" blue="0.098039215690000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
50 <constraints> 50 <constraints>
51 <constraint firstItem="CJn-w1-o2o" firstAttribute="top" secondItem="O4Q-H0-WBO" secondAttribute="top" id="1zI-mI-RXX"/> 51 <constraint firstItem="CJn-w1-o2o" firstAttribute="top" secondItem="O4Q-H0-WBO" secondAttribute="top" id="1zI-mI-RXX"/>
52 <constraint firstAttribute="trailing" secondItem="afS-51-Q5Z" secondAttribute="trailing" id="7I5-1M-8AE"/> 52 <constraint firstAttribute="trailing" secondItem="afS-51-Q5Z" secondAttribute="trailing" id="7I5-1M-8AE"/>
53 <constraint firstItem="afS-51-Q5Z" firstAttribute="leading" secondItem="O4Q-H0-WBO" secondAttribute="leading" id="IEr-WN-6MO"/> 53 <constraint firstItem="afS-51-Q5Z" firstAttribute="leading" secondItem="O4Q-H0-WBO" secondAttribute="leading" id="IEr-WN-6MO"/>
54 <constraint firstAttribute="bottom" secondItem="afS-51-Q5Z" secondAttribute="bottom" id="LNL-Mo-g5c"/> 54 <constraint firstAttribute="bottom" secondItem="afS-51-Q5Z" secondAttribute="bottom" id="LNL-Mo-g5c"/>
55 <constraint firstItem="BIE-oM-ejb" firstAttribute="leading" secondItem="O4Q-H0-WBO" secondAttribute="leading" id="O9H-bB-I0V"/> 55 <constraint firstItem="BIE-oM-ejb" firstAttribute="leading" secondItem="O4Q-H0-WBO" secondAttribute="leading" id="O9H-bB-I0V"/>
56 <constraint firstAttribute="height" constant="46" id="Pmw-mV-DhU"/> 56 <constraint firstAttribute="height" constant="46" id="Pmw-mV-DhU"/>
57 <constraint firstAttribute="bottom" secondItem="CJn-w1-o2o" secondAttribute="bottom" id="Xmh-Qg-N81"/> 57 <constraint firstAttribute="bottom" secondItem="CJn-w1-o2o" secondAttribute="bottom" id="Xmh-Qg-N81"/>
58 <constraint firstAttribute="trailing" secondItem="CJn-w1-o2o" secondAttribute="trailing" id="l2g-NC-l1f"/> 58 <constraint firstAttribute="trailing" secondItem="CJn-w1-o2o" secondAttribute="trailing" id="l2g-NC-l1f"/>
59 <constraint firstAttribute="bottom" secondItem="BIE-oM-ejb" secondAttribute="bottom" constant="5" id="lwA-7z-Gi9"/> 59 <constraint firstAttribute="bottom" secondItem="BIE-oM-ejb" secondAttribute="bottom" constant="5" id="lwA-7z-Gi9"/>
60 <constraint firstItem="BIE-oM-ejb" firstAttribute="top" secondItem="O4Q-H0-WBO" secondAttribute="top" constant="5" id="r6e-SB-lb7"/> 60 <constraint firstItem="BIE-oM-ejb" firstAttribute="top" secondItem="O4Q-H0-WBO" secondAttribute="top" constant="5" id="r6e-SB-lb7"/>
61 <constraint firstItem="afS-51-Q5Z" firstAttribute="top" secondItem="O4Q-H0-WBO" secondAttribute="top" id="vAx-Bu-CLe"/> 61 <constraint firstItem="afS-51-Q5Z" firstAttribute="top" secondItem="O4Q-H0-WBO" secondAttribute="top" id="vAx-Bu-CLe"/>
62 </constraints> 62 </constraints>
63 </view> 63 </view>
64 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="5ZL-zf-geZ" customClass="AutoTransButton"> 64 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="5ZL-zf-geZ" customClass="AutoTransButton">
65 <rect key="frame" x="20" y="76" width="335" height="40"/> 65 <rect key="frame" x="20" y="76" width="335" height="40"/>
66 <color key="backgroundColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/> 66 <color key="backgroundColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/>
67 <constraints> 67 <constraints>
68 <constraint firstAttribute="height" constant="40" id="ATx-eA-hJ1"/> 68 <constraint firstAttribute="height" constant="40" id="ATx-eA-hJ1"/>
69 </constraints> 69 </constraints>
70 <fontDescription key="fontDescription" type="system" pointSize="13"/> 70 <fontDescription key="fontDescription" type="system" pointSize="13"/>
71 <state key="normal"> 71 <state key="normal">
72 <string key="title" base64-UTF8="YES"> 72 <string key="title" base64-UTF8="YES">
73 44Kq44K544K544Oh44Kw44Or44O844OXAA 73 44Kq44K544K544Oh44Kw44Or44O844OXAA
74 </string> 74 </string>
75 <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 75 <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
76 </state> 76 </state>
77 <userDefinedRuntimeAttributes> 77 <userDefinedRuntimeAttributes>
78 <userDefinedRuntimeAttribute type="number" keyPath="layer.corderRadius"> 78 <userDefinedRuntimeAttribute type="number" keyPath="layer.corderRadius">
79 <integer key="value" value="5"/> 79 <integer key="value" value="5"/>
80 </userDefinedRuntimeAttribute> 80 </userDefinedRuntimeAttribute>
81 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.sns.bt.commendgroup"/> 81 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.sns.bt.commendgroup"/>
82 </userDefinedRuntimeAttributes> 82 </userDefinedRuntimeAttributes>
83 <connections> 83 <connections>
84 <action selector="clickRecommendGroup:" destination="-1" eventType="touchUpInside" id="DEw-ej-loH"/> 84 <action selector="clickRecommendGroup:" destination="-1" eventType="touchUpInside" id="DEw-ej-loH"/>
85 </connections> 85 </connections>
86 </button> 86 </button>
87 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="uB3-Sm-i6e" customClass="AutoTransButton"> 87 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="uB3-Sm-i6e" customClass="AutoTransButton">
88 <rect key="frame" x="20" y="126" width="335" height="40"/> 88 <rect key="frame" x="20" y="126" width="335" height="40"/>
89 <color key="backgroundColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/> 89 <color key="backgroundColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/>
90 <constraints> 90 <constraints>
91 <constraint firstAttribute="height" constant="40" id="oph-d8-bxh"/> 91 <constraint firstAttribute="height" constant="40" id="oph-d8-bxh"/>
92 </constraints> 92 </constraints>
93 <fontDescription key="fontDescription" type="system" pointSize="13"/> 93 <fontDescription key="fontDescription" type="system" pointSize="13"/>
94 <state key="normal"> 94 <state key="normal">
95 <string key="title" base64-UTF8="YES"> 95 <string key="title" base64-UTF8="YES">
96 44Oe44Kk44Kw44Or44O844OXAA 96 44Oe44Kk44Kw44Or44O844OXAA
97 </string> 97 </string>
98 <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 98 <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
99 </state> 99 </state>
100 <userDefinedRuntimeAttributes> 100 <userDefinedRuntimeAttributes>
101 <userDefinedRuntimeAttribute type="number" keyPath="layer.corderRadius"> 101 <userDefinedRuntimeAttribute type="number" keyPath="layer.corderRadius">
102 <integer key="value" value="5"/> 102 <integer key="value" value="5"/>
103 </userDefinedRuntimeAttribute> 103 </userDefinedRuntimeAttribute>
104 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.sns.bt.mygroup"/> 104 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.sns.bt.mygroup"/>
105 </userDefinedRuntimeAttributes> 105 </userDefinedRuntimeAttributes>
106 <connections> 106 <connections>
107 <action selector="clickMyGroup:" destination="-1" eventType="touchUpInside" id="ph8-DF-WMt"/> 107 <action selector="clickMyGroup:" destination="-1" eventType="touchUpInside" id="ph8-DF-WMt"/>
108 </connections> 108 </connections>
109 </button> 109 </button>
110 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="最近の話題" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zzn-bU-X6s" customClass="AutoTransLabel"> 110 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="最近の話題" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zzn-bU-X6s" customClass="AutoTransLabel">
111 <rect key="frame" x="20" y="226" width="335" height="21"/> 111 <rect key="frame" x="20" y="226" width="335" height="21"/>
112 <constraints> 112 <constraints>
113 <constraint firstAttribute="height" constant="21" id="Gu9-7U-YXF"/> 113 <constraint firstAttribute="height" constant="21" id="Gu9-7U-YXF"/>
114 </constraints> 114 </constraints>
115 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="15"/> 115 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="15"/>
116 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 116 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
117 <nil key="highlightedColor"/> 117 <nil key="highlightedColor"/>
118 <userDefinedRuntimeAttributes> 118 <userDefinedRuntimeAttributes>
119 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.sns.lbl.recent"/> 119 <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.sns.lbl.recent"/>
120 </userDefinedRuntimeAttributes> 120 </userDefinedRuntimeAttributes>
121 </label> 121 </label>
122 <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="none" rowHeight="100" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="KcG-O5-UhK"> 122 <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="none" rowHeight="100" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="KcG-O5-UhK">
123 <rect key="frame" x="0.0" y="255" width="375" height="362"/> 123 <rect key="frame" x="0.0" y="255" width="375" height="362"/>
124 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> 124 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
125 <connections> 125 <connections>
126 <outlet property="dataSource" destination="-1" id="Y5Y-4y-Bzz"/> 126 <outlet property="dataSource" destination="-1" id="Y5Y-4y-Bzz"/>
127 <outlet property="delegate" destination="-1" id="VCg-Ha-vdk"/> 127 <outlet property="delegate" destination="-1" id="VCg-Ha-vdk"/>
128 </connections> 128 </connections>
129 </tableView> 129 </tableView>
130 </subviews> 130 </subviews>
131 <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> 131 <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
132 <constraints> 132 <constraints>
133 <constraint firstItem="O4Q-H0-WBO" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="0u7-Ks-LSt"/> 133 <constraint firstItem="O4Q-H0-WBO" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="0u7-Ks-LSt"/>
134 <constraint firstAttribute="trailing" secondItem="O4Q-H0-WBO" secondAttribute="trailing" id="2pA-85-kwM"/> 134 <constraint firstAttribute="trailing" secondItem="O4Q-H0-WBO" secondAttribute="trailing" id="2pA-85-kwM"/>
135 <constraint firstItem="zzn-bU-X6s" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="20" id="4Uu-Hd-lEX"/> 135 <constraint firstItem="zzn-bU-X6s" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="20" id="4Uu-Hd-lEX"/>
136 <constraint firstItem="uB3-Sm-i6e" firstAttribute="top" secondItem="5ZL-zf-geZ" secondAttribute="bottom" constant="10" id="BBu-TF-Z8P"/> 136 <constraint firstItem="uB3-Sm-i6e" firstAttribute="top" secondItem="5ZL-zf-geZ" secondAttribute="bottom" constant="10" id="BBu-TF-Z8P"/>
137 <constraint firstItem="O4Q-H0-WBO" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="Ml4-eE-LTb"/> 137 <constraint firstItem="O4Q-H0-WBO" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="Ml4-eE-LTb"/>
138 <constraint firstAttribute="bottom" secondItem="KcG-O5-UhK" secondAttribute="bottom" constant="50" id="O0M-Cr-W0f"/> 138 <constraint firstAttribute="bottom" secondItem="KcG-O5-UhK" secondAttribute="bottom" constant="50" id="O0M-Cr-W0f"/>
139 <constraint firstAttribute="trailing" secondItem="uB3-Sm-i6e" secondAttribute="trailing" constant="20" id="Qu0-ja-Iwx"/> 139 <constraint firstAttribute="trailing" secondItem="uB3-Sm-i6e" secondAttribute="trailing" constant="20" id="Qu0-ja-Iwx"/>
140 <constraint firstAttribute="trailing" secondItem="5ZL-zf-geZ" secondAttribute="trailing" constant="20" id="Sdn-yt-XFa"/> 140 <constraint firstAttribute="trailing" secondItem="5ZL-zf-geZ" secondAttribute="trailing" constant="20" id="Sdn-yt-XFa"/>
141 <constraint firstAttribute="trailing" secondItem="KcG-O5-UhK" secondAttribute="trailing" id="T6S-Bu-Yqj"/> 141 <constraint firstAttribute="trailing" secondItem="KcG-O5-UhK" secondAttribute="trailing" id="T6S-Bu-Yqj"/>
142 <constraint firstItem="5ZL-zf-geZ" firstAttribute="top" secondItem="O4Q-H0-WBO" secondAttribute="bottom" constant="30" id="byK-GM-sv0"/> 142 <constraint firstItem="5ZL-zf-geZ" firstAttribute="top" secondItem="O4Q-H0-WBO" secondAttribute="bottom" constant="30" id="byK-GM-sv0"/>
143 <constraint firstItem="KcG-O5-UhK" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="eBl-Gj-eMk"/> 143 <constraint firstItem="KcG-O5-UhK" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="eBl-Gj-eMk"/>
144 <constraint firstItem="zzn-bU-X6s" firstAttribute="top" secondItem="uB3-Sm-i6e" secondAttribute="bottom" constant="60" id="edW-Ji-61a"/> 144 <constraint firstItem="zzn-bU-X6s" firstAttribute="top" secondItem="uB3-Sm-i6e" secondAttribute="bottom" constant="60" id="edW-Ji-61a"/>
145 <constraint firstAttribute="trailing" secondItem="zzn-bU-X6s" secondAttribute="trailing" constant="20" id="ftd-7J-C4c"/> 145 <constraint firstAttribute="trailing" secondItem="zzn-bU-X6s" secondAttribute="trailing" constant="20" id="ftd-7J-C4c"/>
146 <constraint firstItem="5ZL-zf-geZ" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="20" id="jDz-q1-ufR"/> 146 <constraint firstItem="5ZL-zf-geZ" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="20" id="jDz-q1-ufR"/>
147 <constraint firstItem="KcG-O5-UhK" firstAttribute="top" secondItem="zzn-bU-X6s" secondAttribute="bottom" constant="8" id="lFR-We-lIy"/> 147 <constraint firstItem="KcG-O5-UhK" firstAttribute="top" secondItem="zzn-bU-X6s" secondAttribute="bottom" constant="8" id="lFR-We-lIy"/>
148 <constraint firstItem="uB3-Sm-i6e" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="20" id="v4n-Fr-Vhx"/> 148 <constraint firstItem="uB3-Sm-i6e" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="20" id="v4n-Fr-Vhx"/>
149 </constraints> 149 </constraints>
150 <point key="canvasLocation" x="24.5" y="52.5"/> 150 <point key="canvasLocation" x="24.5" y="52.5"/>
151 </view> 151 </view>
152 </objects> 152 </objects>
153 <resources> 153 <resources>
154 <image name="icon_menu" width="30" height="30"/> 154 <image name="icon_menu" width="30" height="30"/>
155 <image name="today_back_button" width="73" height="37"/> 155 <image name="today_back_button" width="73" height="37"/>
156 </resources> 156 </resources>
157 </document> 157 </document>
158 158
LifeLog/LifeLog/Utilities.h
1 // 1 //
2 // Utilities.h 2 // Utilities.h
3 // LifeLog 3 // LifeLog
4 // 4 //
5 // Created by Nguyen Van Phong on 7/29/17. 5 // Created by Nguyen Van Phong on 7/29/17.
6 // Copyright © 2017 PhongNV. All rights reserved. 6 // Copyright © 2017 PhongNV. All rights reserved.
7 // 7 //
8 8
9 #import <Foundation/Foundation.h> 9 #import <Foundation/Foundation.h>
10 #import <UIKit/UIKit.h> 10 #import <UIKit/UIKit.h>
11 11
12 @interface Utilities : NSObject 12 @interface Utilities : NSObject
13 + (NSString *)addCommaFromNumber:(NSInteger)number; 13 + (NSString *)addCommaFromNumber:(NSInteger)number;
14 + (UIColor *)convertHecToColor:(int) hex; 14 + (UIColor *)convertHecToColor:(int) hex;
15 + (void)showMessage:(NSString *)message withViewController:(UIViewController *)vc;
15 + (void)showErrorMessage:(NSString *)message withViewController:(UIViewController *)vc; 16 + (void)showErrorMessage:(NSString *)message withViewController:(UIViewController *)vc;
16 + (NSString *) getImageLink : (NSString *) path; 17 + (NSString *) getImageLink : (NSString *) path;
17 18
18 //share function 19 //share function
19 + (void) shareFacebook : (NSString *) content withViewController:(UIViewController *)vc; 20 + (void) shareFacebook : (NSString *) content withViewController:(UIViewController *)vc;
20 + (void) shareTwitter : (NSString *) content withViewController:(UIViewController *)vc; 21 + (void) shareTwitter : (NSString *) content withViewController:(UIViewController *)vc;
21 + (void) shareLine : (NSString *) content withViewController:(UIViewController *)vc; 22 + (void) shareLine : (NSString *) content withViewController:(UIViewController *)vc;
22 + (void) shareEmail : (NSString *) content withViewController:(UIViewController *)vc; 23 + (void) shareEmail : (NSString *) content withViewController:(UIViewController *)vc;
23 24
24 //convert date time 25 //convert date time
25 + (NSDate *) dateFromString : (NSString *) dateString withFormat: (NSString *) format; 26 + (NSDate *) dateFromString : (NSString *) dateString withFormat: (NSString *) format;
26 + (NSString *) stringFromDate : (NSDate *) date withFormat: (NSString *) format; 27 + (NSString *) stringFromDate : (NSDate *) date withFormat: (NSString *) format;
27 @end 28 @end
28 29
LifeLog/LifeLog/Utilities.m
1 // 1 //
2 // Utilities.m 2 // Utilities.m
3 // LifeLog 3 // LifeLog
4 // 4 //
5 // Created by Nguyen Van Phong on 7/29/17. 5 // Created by Nguyen Van Phong on 7/29/17.
6 // Copyright © 2017 PhongNV. All rights reserved. 6 // Copyright © 2017 PhongNV. All rights reserved.
7 // 7 //
8 8
9 #import <Social/Social.h> 9 #import <Social/Social.h>
10 #import <LineKit/Line.h> 10 #import <LineKit/Line.h>
11 11
12 #import "Utilities.h" 12 #import "Utilities.h"
13 #import "ServerAPI.h" 13 #import "ServerAPI.h"
14 14
15 @implementation Utilities 15 @implementation Utilities
16 + (NSString *)addCommaFromNumber:(NSInteger)number 16 + (NSString *)addCommaFromNumber:(NSInteger)number
17 { 17 {
18 NSNumberFormatter *fmt = [[NSNumberFormatter alloc] init]; 18 NSNumberFormatter *fmt = [[NSNumberFormatter alloc] init];
19 [fmt setNumberStyle:NSNumberFormatterDecimalStyle]; 19 [fmt setNumberStyle:NSNumberFormatterDecimalStyle];
20 [fmt setMaximumFractionDigits:0]; 20 [fmt setMaximumFractionDigits:0];
21 NSString *result = [fmt stringFromNumber:@(number)]; 21 NSString *result = [fmt stringFromNumber:@(number)];
22 return result; 22 return result;
23 } 23 }
24 24
25 + (UIColor *)convertHecToColor:(int) hex 25 + (UIColor *)convertHecToColor:(int) hex
26 { 26 {
27 return [UIColor colorWithRed:((float)((hex & 0xFF0000) >> 16))/255.0 \ 27 return [UIColor colorWithRed:((float)((hex & 0xFF0000) >> 16))/255.0 \
28 green:((float)((hex & 0xFF00) >> 8))/255.0 \ 28 green:((float)((hex & 0xFF00) >> 8))/255.0 \
29 blue:((float)(hex & 0xFF))/255.0 alpha:1.0]; 29 blue:((float)(hex & 0xFF))/255.0 alpha:1.0];
30 } 30 }
31 31
32 + (void)showMessage:(NSString *)message withViewController:(UIViewController *)vc
33 {
34 if (message.length > 0) {
35 UIAlertController * alert= [UIAlertController
36 alertControllerWithTitle:@"Message"
37 message:message
38 preferredStyle:UIAlertControllerStyleAlert];
39
40 UIAlertAction* ok = [UIAlertAction
41 actionWithTitle:@"OK"
42 style:UIAlertActionStyleDefault
43 handler:^(UIAlertAction * action)
44 {
45 [alert dismissViewControllerAnimated:YES completion:nil];
46 }];
47
48 [alert addAction:ok];
49
50 [vc presentViewController:alert animated:YES completion:nil];
51 }
52 }
53
32 + (void)showErrorMessage:(NSString *)message withViewController:(UIViewController *)vc 54 + (void)showErrorMessage:(NSString *)message withViewController:(UIViewController *)vc
33 { 55 {
34 if (message.length > 0) { 56 if (message.length > 0) {
35 UIAlertController * alert= [UIAlertController 57 UIAlertController * alert= [UIAlertController
36 alertControllerWithTitle:@"Error" 58 alertControllerWithTitle:@"Error"
37 message:message 59 message:message
38 preferredStyle:UIAlertControllerStyleAlert]; 60 preferredStyle:UIAlertControllerStyleAlert];
39 61
40 UIAlertAction* ok = [UIAlertAction 62 UIAlertAction* ok = [UIAlertAction
41 actionWithTitle:@"OK" 63 actionWithTitle:@"OK"
42 style:UIAlertActionStyleDefault 64 style:UIAlertActionStyleDefault
43 handler:^(UIAlertAction * action) 65 handler:^(UIAlertAction * action)
44 { 66 {
45 [alert dismissViewControllerAnimated:YES completion:nil]; 67 [alert dismissViewControllerAnimated:YES completion:nil];
46
47 }]; 68 }];
48 69
49 [alert addAction:ok]; 70 [alert addAction:ok];
50 71
51 [vc presentViewController:alert animated:YES completion:nil]; 72 [vc presentViewController:alert animated:YES completion:nil];
52 } 73 }
53 } 74 }
54 75
55 + (NSString *) getImageLink : (NSString *) path { 76 + (NSString *) getImageLink : (NSString *) path {
56 NSString * link = kServerAddress; 77 NSString * link = kServerAddress;
57 return [link stringByAppendingString:path]; 78 return [link stringByAppendingString:path];
58 } 79 }
59 80
60 + (void) shareFacebook : (NSString *) content withViewController:(UIViewController *)vc { 81 + (void) shareFacebook : (NSString *) content withViewController:(UIViewController *)vc {
61 if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) 82 if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
62 { 83 {
63 SLComposeViewController *composeViewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; 84 SLComposeViewController *composeViewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
64 85
65 [composeViewController setInitialText:content]; 86 [composeViewController setInitialText:content];
66 [composeViewController setCompletionHandler:^(SLComposeViewControllerResult result) { 87 [composeViewController setCompletionHandler:^(SLComposeViewControllerResult result) {
67 88
68 switch (result) { 89 switch (result) {
69 case SLComposeViewControllerResultCancelled: 90 case SLComposeViewControllerResultCancelled:
70 NSLog(@"canceled"); 91 NSLog(@"canceled");
71 break; 92 break;
72 case SLComposeViewControllerResultDone: 93 case SLComposeViewControllerResultDone:
73 NSLog(@"done"); 94 NSLog(@"done");
74 break; 95 break;
75 default: 96 default:
76 break; 97 break;
77 } 98 }
78 }]; 99 }];
79 [vc presentViewController:composeViewController animated:YES completion:nil]; 100 [vc presentViewController:composeViewController animated:YES completion:nil];
80 } 101 }
81 else { 102 else {
82 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"App-Prefs:root=FACEBOOK"]]; 103 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"App-Prefs:root=FACEBOOK"]];
83 } 104 }
84 } 105 }
85 106
86 + (void) shareTwitter : (NSString *) content withViewController:(UIViewController *)vc { 107 + (void) shareTwitter : (NSString *) content withViewController:(UIViewController *)vc {
87 if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]) 108 if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter])
88 { 109 {
89 SLComposeViewController *composeViewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter]; 110 SLComposeViewController *composeViewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
90 111
91 [composeViewController setInitialText:content]; 112 [composeViewController setInitialText:content];
92 [composeViewController setCompletionHandler:^(SLComposeViewControllerResult result) { 113 [composeViewController setCompletionHandler:^(SLComposeViewControllerResult result) {
93 114
94 switch (result) { 115 switch (result) {
95 case SLComposeViewControllerResultCancelled: 116 case SLComposeViewControllerResultCancelled:
96 NSLog(@"canceled"); 117 NSLog(@"canceled");
97 break; 118 break;
98 case SLComposeViewControllerResultDone: 119 case SLComposeViewControllerResultDone:
99 NSLog(@"done"); 120 NSLog(@"done");
100 break; 121 break;
101 default: 122 default:
102 break; 123 break;
103 } 124 }
104 }]; 125 }];
105 [vc presentViewController:composeViewController animated:YES completion:nil]; 126 [vc presentViewController:composeViewController animated:YES completion:nil];
106 } 127 }
107 else { 128 else {
108 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"App-Prefs:root=TWITTER"]]; 129 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"App-Prefs:root=TWITTER"]];
109 } 130 }
110 } 131 }
111 132
112 + (void) shareLine : (NSString *) content withViewController:(UIViewController *)vc { 133 + (void) shareLine : (NSString *) content withViewController:(UIViewController *)vc {
113 if (![Line isLineInstalled]) { 134 if (![Line isLineInstalled]) {
114 [self showErrorMessage:@"Install Line app first" withViewController:vc]; 135 [self showErrorMessage:@"Install Line app first" withViewController:vc];
115 } 136 }
116 else { 137 else {
117 [Line shareText:content]; 138 [Line shareText:content];
118 } 139 }
119 } 140 }
120 141
121 + (void) shareEmail : (NSString *) content withViewController:(UIViewController *)vc { 142 + (void) shareEmail : (NSString *) content withViewController:(UIViewController *)vc {
122 NSString *urlEmail = @"mailto:?subject=Share from LifeLog&body="; 143 NSString *urlEmail = @"mailto:?subject=Share from LifeLog&body=";
123 urlEmail = [urlEmail stringByAppendingString:content]; 144 urlEmail = [urlEmail stringByAppendingString:content];
124 urlEmail = [urlEmail stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLFragmentAllowedCharacterSet]]; 145 urlEmail = [urlEmail stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLFragmentAllowedCharacterSet]];
125 [[UIApplication sharedApplication] openURL: [NSURL URLWithString: urlEmail]]; 146 [[UIApplication sharedApplication] openURL: [NSURL URLWithString: urlEmail]];
126 } 147 }
127 148
128 #pragma mark convert date time 149 #pragma mark convert date time
129 + (NSDate *) dateFromString : (NSString *) dateString withFormat: (NSString *) format { 150 + (NSDate *) dateFromString : (NSString *) dateString withFormat: (NSString *) format {
130 NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 151 NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
131 [dateFormat setDateFormat:format]; 152 [dateFormat setDateFormat:format];
132 NSDate *date = [dateFormat dateFromString:dateString]; 153 NSDate *date = [dateFormat dateFromString:dateString];
133 if(date == NULL) { 154 if(date == NULL) {
134 return [NSDate date]; 155 return [NSDate date];
135 } 156 }
136 return date; 157 return date;
137 } 158 }
138 159
139 + (NSString *) stringFromDate : (NSDate *) date withFormat: (NSString *) format { 160 + (NSString *) stringFromDate : (NSDate *) date withFormat: (NSString *) format {
140 NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 161 NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
141 [dateFormat setDateFormat:format]; 162 [dateFormat setDateFormat:format];
142 NSString *dateString = [dateFormat stringFromDate:date]; 163 NSString *dateString = [dateFormat stringFromDate:date];
143 return dateString; 164 return dateString;
144 } 165 }
145 166
146 @end 167 @end