-                                    <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="list-arrow" translatesAutoresizingMaskIntoConstraints="NO" id="8VZ-dR-b6z">
234
-                                        <rect key="frame" x="341" y="78" width="24" height="36"/>
235
-                                    </imageView>
236
-                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="赞" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="J3p-B7-gMi">
237
-                                        <rect key="frame" x="70" y="86" width="17" height="20"/>
238
-                                        <fontDescription key="fontDescription" type="system" pointSize="16"/>
239
-                                        <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
240
-                                        <nil key="highlightedColor"/>
241
-                                    </label>
242
-                                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="KVD-Az-tyJ">
243
-                                        <rect key="frame" x="0.0" y="128" width="375" height="64"/>
244
-                                        <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
245
-                                        <constraints>
246
-                                            <constraint firstAttribute="height" constant="64" id="zcX-3o-C4B"/>
247
-                                        </constraints>
248
-                                    </button>
249
-                                    <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="message-comment" translatesAutoresizingMaskIntoConstraints="NO" id="cgb-6k-KQJ">
250
-                                        <rect key="frame" x="12" y="136" width="48" height="48"/>
251
-                                        <constraints>
252
-                                            <constraint firstAttribute="width" secondItem="cgb-6k-KQJ" secondAttribute="height" id="FhM-W8-0eM"/>
253
-                                            <constraint firstAttribute="width" constant="48" id="Kmf-oj-nfI"/>
254
-                                        </constraints>
255
-                                    </imageView>
256
-                                    <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="list-arrow" translatesAutoresizingMaskIntoConstraints="NO" id="hJe-J2-RpF">
257
-                                        <rect key="frame" x="341" y="142" width="24" height="36"/>
258
-                                    </imageView>
259
-                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="评论" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6fy-0a-WYd">
260
-                                        <rect key="frame" x="70" y="150" width="33" height="20"/>
261
-                                        <fontDescription key="fontDescription" type="system" pointSize="16"/>
262
-                                        <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
263
-                                        <nil key="highlightedColor"/>
264
-                                    </label>
265
-                                    <view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="oLf-Xb-QSv">
266
-                                        <rect key="frame" x="325" y="28" width="8" height="8"/>
267
-                                        <color key="backgroundColor" red="1" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
268
-                                        <constraints>
269
-                                            <constraint firstAttribute="height" constant="8" id="8PB-CF-AvI"/>
270
-                                            <constraint firstAttribute="width" constant="8" id="WJH-jN-MFb"/>
271
-                                        </constraints>
272
-                                        <userDefinedRuntimeAttributes>
273
-                                            <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
274
-                                                <real key="value" value="4"/>
275
-                                            </userDefinedRuntimeAttribute>
276
-                                        </userDefinedRuntimeAttributes>
277
-                                    </view>
278
-                                    <view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="R8U-gK-x5D">
279
-                                        <rect key="frame" x="325" y="92" width="8" height="8"/>
280
-                                        <color key="backgroundColor" red="1" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
281
-                                        <constraints>
282
-                                            <constraint firstAttribute="height" constant="8" id="pvk-DY-af3"/>
283
-                                            <constraint firstAttribute="width" constant="8" id="y72-go-9Lu"/>
284
-                                        </constraints>
285
-                                        <userDefinedRuntimeAttributes>
286
-                                            <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
287
-                                                <real key="value" value="4"/>
288
-                                            </userDefinedRuntimeAttribute>
289
-                                        </userDefinedRuntimeAttributes>
290
-                                    </view>
291
-                                    <view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Qi9-c7-GCt">
292
-                                        <rect key="frame" x="325" y="156" width="8" height="8"/>
293
-                                        <color key="backgroundColor" red="1" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
294
-                                        <constraints>
295
-                                            <constraint firstAttribute="height" constant="8" id="d1V-XC-UJk"/>
296
-                                            <constraint firstAttribute="width" constant="8" id="wcE-da-Ggi"/>
297
-                                        </constraints>
298
-                                        <userDefinedRuntimeAttributes>
299
-                                            <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
300
-                                                <real key="value" value="4"/>
301
-                                            </userDefinedRuntimeAttribute>
302
-                                        </userDefinedRuntimeAttributes>
303
-                                    </view>
304
-                                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="LMK-Y1-Qex">
305
-                                        <rect key="frame" x="70" y="63.5" width="305" height="0.5"/>
306
-                                        <color key="backgroundColor" red="0.90588235289999997" green="0.90588235289999997" blue="0.90588235289999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
307
-                                        <constraints>
308
-                                            <constraint firstAttribute="height" constant="0.5" id="ygP-zr-Y2l"/>
295
+                                            <constraint firstItem="rWa-ZW-l2r" firstAttribute="centerY" secondItem="FvO-F8-npa" secondAttribute="centerY" id="31J-Kc-V4M"/>
296
+                                            <constraint firstItem="cYK-SK-9WL" firstAttribute="top" secondItem="FvO-F8-npa" secondAttribute="top" id="43p-Ol-SCA"/>
297
+                                            <constraint firstItem="vFD-Hf-dPV" firstAttribute="centerY" secondItem="FvO-F8-npa" secondAttribute="centerY" id="FRm-10-cuU"/>
298
+                                            <constraint firstItem="iqd-Ji-zvi" firstAttribute="centerY" secondItem="FvO-F8-npa" secondAttribute="centerY" id="H7y-qI-qAP"/>
299
+                                            <constraint firstItem="Mdm-bD-HR2" firstAttribute="centerY" secondItem="FvO-F8-npa" secondAttribute="centerY" id="TtU-kN-5jV"/>
300
+                                            <constraint firstAttribute="height" constant="64" id="Uhv-Ry-4pQ"/>
301
+                                            <constraint firstItem="rWa-ZW-l2r" firstAttribute="leading" secondItem="iqd-Ji-zvi" secondAttribute="trailing" constant="8" id="bcO-40-lkC"/>
302
+                                            <constraint firstItem="vFD-Hf-dPV" firstAttribute="leading" secondItem="Mdm-bD-HR2" secondAttribute="trailing" constant="10" id="c1Q-w8-1iV"/>
303
+                                            <constraint firstAttribute="trailing" secondItem="rWa-ZW-l2r" secondAttribute="trailing" constant="10" id="f1H-lD-Bhp"/>
304
+                                            <constraint firstItem="cYK-SK-9WL" firstAttribute="leading" secondItem="FvO-F8-npa" secondAttribute="leading" id="hT5-QW-acn"/>
305
+                                            <constraint firstAttribute="bottom" secondItem="cYK-SK-9WL" secondAttribute="bottom" id="il0-Dm-SVq"/>
306
+                                            <constraint firstAttribute="trailing" secondItem="cYK-SK-9WL" secondAttribute="trailing" id="j9y-uz-ARx"/>
307
+                                            <constraint firstItem="Mdm-bD-HR2" firstAttribute="leading" secondItem="FvO-F8-npa" secondAttribute="leading" constant="12" id="vD8-AI-AAE"/>
309 308
                                         </constraints>
310 309
                                     </view>
311
-                                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="gIo-ms-963">
312
-                                        <rect key="frame" x="70" y="127.5" width="305" height="0.5"/>
313
-                                        <color key="backgroundColor" red="0.90588235289999997" green="0.90588235289999997" blue="0.90588235289999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
310
+                                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Org-mm-8ZH" userLabel="message comment">
311
+                                        <rect key="frame" x="0.0" y="128" width="375" height="64"/>
312
+                                        <subviews>
313
+                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="pAl-ew-Vda">
314
+                                                <rect key="frame" x="0.0" y="0.0" width="375" height="64"/>
315
+                                                <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
316
+                                                <constraints>
317
+                                                    <constraint firstAttribute="height" constant="64" id="Dnh-NK-K7H"/>
318
+                                                </constraints>
319
+                                            </button>
320
+                                            <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="message-comment" translatesAutoresizingMaskIntoConstraints="NO" id="0Ga-dC-0cj">
321
+                                                <rect key="frame" x="12" y="8" width="48" height="48"/>
322
+                                                <constraints>
323
+                                                    <constraint firstAttribute="width" constant="48" id="Hcr-cI-PAb"/>
324
+                                                    <constraint firstAttribute="width" secondItem="0Ga-dC-0cj" secondAttribute="height" id="sQe-Iz-UsK"/>
325
+                                                </constraints>
326
+                                            </imageView>
327
+                                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="评论" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="OqS-kg-xEo" userLabel="评论">
328
+                                                <rect key="frame" x="70" y="22.5" width="33" height="19.5"/>
329
+                                                <fontDescription key="fontDescription" type="system" pointSize="16"/>
330
+                                                <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
331
+                                                <nil key="highlightedColor"/>
332
+                                            </label>
333
+                                            <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="list-arrow" translatesAutoresizingMaskIntoConstraints="NO" id="de8-5g-YER">
334
+                                                <rect key="frame" x="341" y="14" width="24" height="36"/>
335
+                                            </imageView>
336
+                                            <view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Ywg-9R-Fz9">
337
+                                                <rect key="frame" x="325" y="28" width="8" height="8"/>
338
+                                                <color key="backgroundColor" red="1" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
339
+                                                <constraints>
340
+                                                    <constraint firstAttribute="width" constant="8" id="ZOh-7N-i3b"/>
341
+                                                    <constraint firstAttribute="height" constant="8" id="fXX-l3-MG3"/>
342
+                                                </constraints>
343
+                                                <userDefinedRuntimeAttributes>
344
+                                                    <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
345
+                                                        <real key="value" value="4"/>
346
+                                                    </userDefinedRuntimeAttribute>
347
+                                                </userDefinedRuntimeAttributes>
348
+                                            </view>
349
+                                        </subviews>
350
+                                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
314 351
                                         <constraints>
315
-                                            <constraint firstAttribute="height" constant="0.5" id="VfL-Rd-QTP"/>
352
+                                            <constraint firstItem="OqS-kg-xEo" firstAttribute="centerY" secondItem="Org-mm-8ZH" secondAttribute="centerY" id="14q-Ka-Vk5"/>
353
+                                            <constraint firstItem="pAl-ew-Vda" firstAttribute="top" secondItem="Org-mm-8ZH" secondAttribute="top" id="2Su-bl-RDw"/>
354
+                                            <constraint firstItem="Ywg-9R-Fz9" firstAttribute="centerY" secondItem="Org-mm-8ZH" secondAttribute="centerY" id="9LY-bT-Hr2"/>
355
+                                            <constraint firstAttribute="trailing" secondItem="de8-5g-YER" secondAttribute="trailing" constant="10" id="Aap-8M-fAT"/>
356
+                                            <constraint firstAttribute="trailing" secondItem="pAl-ew-Vda" secondAttribute="trailing" id="ILI-UR-Vba"/>
357
+                                            <constraint firstItem="OqS-kg-xEo" firstAttribute="leading" secondItem="0Ga-dC-0cj" secondAttribute="trailing" constant="10" id="JTR-w3-YbN"/>
358
+                                            <constraint firstAttribute="bottom" secondItem="pAl-ew-Vda" secondAttribute="bottom" id="Klx-LC-YwX"/>
359
+                                            <constraint firstItem="0Ga-dC-0cj" firstAttribute="centerY" secondItem="Org-mm-8ZH" secondAttribute="centerY" id="NZO-sW-7w8"/>
360
+                                            <constraint firstItem="de8-5g-YER" firstAttribute="centerY" secondItem="Org-mm-8ZH" secondAttribute="centerY" id="fWR-wS-1FO"/>
361
+                                            <constraint firstItem="pAl-ew-Vda" firstAttribute="leading" secondItem="Org-mm-8ZH" secondAttribute="leading" id="hUt-K2-O5X"/>
362
+                                            <constraint firstItem="de8-5g-YER" firstAttribute="leading" secondItem="Ywg-9R-Fz9" secondAttribute="trailing" constant="8" id="lwS-rD-Wv9"/>
363
+                                            <constraint firstItem="0Ga-dC-0cj" firstAttribute="leading" secondItem="Org-mm-8ZH" secondAttribute="leading" constant="12" id="p4H-7I-g5Q"/>
364
+                                            <constraint firstAttribute="height" constant="64" id="qf9-lo-sVB"/>
316 365
                                         </constraints>
317 366
                                     </view>
318 367
                                 </subviews>
319
-                                <color key="backgroundColor" red="0.94117647059999998" green="0.94117647059999998" blue="0.94117647059999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
320
-                                <constraints>
321
-                                    <constraint firstItem="PdF-av-quF" firstAttribute="width" secondItem="PdF-av-quF" secondAttribute="height" id="1SJ-Yy-8rF"/>
322
-                                    <constraint firstItem="KVD-Az-tyJ" firstAttribute="leading" secondItem="StI-0Q-fat" secondAttribute="leading" id="1Sn-Ha-d7i"/>
323
-                                    <constraint firstAttribute="trailing" secondItem="KVD-Az-tyJ" secondAttribute="trailing" id="1UZ-ZG-q7u"/>
324
-                                    <constraint firstItem="NEm-bF-yno" firstAttribute="leading" secondItem="T9q-a4-Ugc" secondAttribute="leading" constant="12" id="3CF-yv-4wf"/>
325
-                                    <constraint firstItem="R8U-gK-x5D" firstAttribute="centerY" secondItem="8VZ-dR-b6z" secondAttribute="centerY" id="3Yc-1d-XRV"/>
326
-                                    <constraint firstItem="LMK-Y1-Qex" firstAttribute="leading" secondItem="OGv-b6-6xR" secondAttribute="leading" id="5AB-ql-wr1"/>
327
-                                    <constraint firstItem="NEm-bF-yno" firstAttribute="width" secondItem="NEm-bF-yno" secondAttribute="height" id="5NQ-kl-Eq5"/>
328
-                                    <constraint firstItem="T9q-a4-Ugc" firstAttribute="leading" secondItem="StI-0Q-fat" secondAttribute="leading" id="638-dc-DJj"/>
329
-                                    <constraint firstItem="mre-Tt-F0S" firstAttribute="centerY" secondItem="WTN-Zx-JKR" secondAttribute="centerY" id="7Gh-JK-xlV"/>
330
-                                    <constraint firstItem="hJe-J2-RpF" firstAttribute="leading" secondItem="Qi9-c7-GCt" secondAttribute="trailing" constant="8" id="8cD-ux-8w4"/>
331
-                                    <constraint firstItem="6fy-0a-WYd" firstAttribute="centerY" secondItem="cgb-6k-KQJ" secondAttribute="centerY" id="EAW-Sd-au8"/>
332
-                                    <constraint firstItem="WTN-Zx-JKR" firstAttribute="leading" secondItem="StI-0Q-fat" secondAttribute="leading" id="Ej8-vW-ES1"/>
333
-                                    <constraint firstItem="oLf-Xb-QSv" firstAttribute="centerY" secondItem="mre-Tt-F0S" secondAttribute="centerY" id="Fty-Is-89H"/>
334
-                                    <constraint firstItem="hJe-J2-RpF" firstAttribute="trailing" secondItem="KVD-Az-tyJ" secondAttribute="trailing" constant="-10" id="HLp-UP-zd4"/>
335
-                                    <constraint firstItem="WTN-Zx-JKR" firstAttribute="top" secondItem="StI-0Q-fat" secondAttribute="top" id="Hdq-cw-396"/>
336
-                                    <constraint firstAttribute="trailing" secondItem="gIo-ms-963" secondAttribute="trailing" id="Hfb-BT-Y32"/>
337
-                                    <constraint firstItem="6fy-0a-WYd" firstAttribute="leading" secondItem="cgb-6k-KQJ" secondAttribute="trailing" constant="10" id="IoR-Al-XZl"/>
338
-                                    <constraint firstItem="gIo-ms-963" firstAttribute="bottom" secondItem="T9q-a4-Ugc" secondAttribute="bottom" id="Joq-MV-NEZ"/>
339
-                                    <constraint firstItem="OGv-b6-6xR" firstAttribute="leading" secondItem="PdF-av-quF" secondAttribute="trailing" constant="10" id="K4D-BZ-8ZU"/>
340
-                                    <constraint firstItem="Qi9-c7-GCt" firstAttribute="centerY" secondItem="hJe-J2-RpF" secondAttribute="centerY" id="LUZ-KU-t61"/>
341
-                                    <constraint firstAttribute="trailing" secondItem="LMK-Y1-Qex" secondAttribute="trailing" id="LYk-HD-SVv"/>
342
-                                    <constraint firstItem="OGv-b6-6xR" firstAttribute="centerY" secondItem="PdF-av-quF" secondAttribute="centerY" id="Obx-DC-2Ms"/>
343
-                                    <constraint firstItem="hJe-J2-RpF" firstAttribute="centerY" secondItem="KVD-Az-tyJ" secondAttribute="centerY" id="PGD-Nd-FxL"/>
344
-                                    <constraint firstItem="mre-Tt-F0S" firstAttribute="leading" secondItem="oLf-Xb-QSv" secondAttribute="trailing" constant="8" id="Pgo-iF-JpC"/>
345
-                                    <constraint firstItem="T9q-a4-Ugc" firstAttribute="top" secondItem="WTN-Zx-JKR" secondAttribute="bottom" id="PiP-8o-hlq"/>
346
-                                    <constraint firstItem="J3p-B7-gMi" firstAttribute="centerY" secondItem="NEm-bF-yno" secondAttribute="centerY" id="U2Q-xG-JKb"/>
347
-                                    <constraint firstAttribute="trailing" secondItem="mre-Tt-F0S" secondAttribute="trailing" constant="10" id="Udt-Ur-CYo"/>
348
-                                    <constraint firstItem="cgb-6k-KQJ" firstAttribute="width" secondItem="cgb-6k-KQJ" secondAttribute="height" id="VBI-e4-8KY"/>
349
-                                    <constraint firstItem="NEm-bF-yno" firstAttribute="centerY" secondItem="T9q-a4-Ugc" secondAttribute="centerY" id="VqD-xD-ZFL"/>
350
-                                    <constraint firstItem="NEm-bF-yno" firstAttribute="width" secondItem="NEm-bF-yno" secondAttribute="height" id="WcT-QB-dXH"/>
351
-                                    <constraint firstItem="8VZ-dR-b6z" firstAttribute="leading" secondItem="R8U-gK-x5D" secondAttribute="trailing" constant="8" id="Zm2-DB-9qE"/>
352
-                                    <constraint firstItem="LMK-Y1-Qex" firstAttribute="bottom" secondItem="WTN-Zx-JKR" secondAttribute="bottom" id="hKb-bb-8Re"/>
353
-                                    <constraint firstItem="8VZ-dR-b6z" firstAttribute="trailing" secondItem="T9q-a4-Ugc" secondAttribute="trailing" constant="-10" id="hTL-Jt-Om6"/>
354
-                                    <constraint firstItem="J3p-B7-gMi" firstAttribute="leading" secondItem="NEm-bF-yno" secondAttribute="trailing" constant="10" id="he6-3z-Xta"/>
355
-                                    <constraint firstItem="cgb-6k-KQJ" firstAttribute="leading" secondItem="KVD-Az-tyJ" secondAttribute="leading" constant="12" id="hek-US-nb3"/>
356
-                                    <constraint firstAttribute="trailing" secondItem="WTN-Zx-JKR" secondAttribute="trailing" id="hyd-J3-IAR"/>
357
-                                    <constraint firstItem="cgb-6k-KQJ" firstAttribute="width" secondItem="cgb-6k-KQJ" secondAttribute="height" id="lpl-IR-20q"/>
358
-                                    <constraint firstItem="cgb-6k-KQJ" firstAttribute="width" secondItem="cgb-6k-KQJ" secondAttribute="height" id="oTf-HF-3EN"/>
359
-                                    <constraint firstAttribute="trailing" secondItem="T9q-a4-Ugc" secondAttribute="trailing" id="qPZ-lF-bJJ"/>
360
-                                    <constraint firstItem="gIo-ms-963" firstAttribute="leading" secondItem="J3p-B7-gMi" secondAttribute="leading" id="s1V-MK-hGp"/>
361
-                                    <constraint firstItem="8VZ-dR-b6z" firstAttribute="centerY" secondItem="T9q-a4-Ugc" secondAttribute="centerY" id="vww-WS-1e6"/>
362
-                                    <constraint firstItem="PdF-av-quF" firstAttribute="leading" secondItem="StI-0Q-fat" secondAttribute="leading" constant="12" id="wD2-zK-Qfe"/>
363
-                                    <constraint firstItem="cgb-6k-KQJ" firstAttribute="centerY" secondItem="KVD-Az-tyJ" secondAttribute="centerY" id="wow-yY-0cl"/>
364
-                                    <constraint firstItem="KVD-Az-tyJ" firstAttribute="top" secondItem="T9q-a4-Ugc" secondAttribute="bottom" id="yi0-UM-hgK"/>
365
-                                    <constraint firstItem="PdF-av-quF" firstAttribute="centerY" secondItem="WTN-Zx-JKR" secondAttribute="centerY" id="zfd-Gi-l2q"/>
366
-                                </constraints>
367
-                            </view>
368
+                            </stackView>
368 369
                         </subviews>
369
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
370
+                        <color key="backgroundColor" red="0.94117647058823528" green="0.94117647058823528" blue="0.94117647058823528" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
370 371
                         <constraints>
371
-                            <constraint firstItem="pk7-RT-o9s" firstAttribute="trailing" secondItem="StI-0Q-fat" secondAttribute="trailing" id="1mB-xr-CQ7"/>
372
-                            <constraint firstAttribute="bottom" secondItem="StI-0Q-fat" secondAttribute="bottom" id="DhK-nf-Lrh"/>
373
-                            <constraint firstItem="StI-0Q-fat" firstAttribute="leading" secondItem="pk7-RT-o9s" secondAttribute="leading" id="jFj-Ls-vJb"/>
374
-                            <constraint firstItem="StI-0Q-fat" firstAttribute="top" secondItem="pk7-RT-o9s" secondAttribute="top" id="xbs-D5-7iw"/>
372
+                            <constraint firstItem="vQs-oc-uao" firstAttribute="leading" secondItem="pk7-RT-o9s" secondAttribute="leading" id="WMt-Hu-L7D"/>
373
+                            <constraint firstItem="pk7-RT-o9s" firstAttribute="trailing" secondItem="vQs-oc-uao" secondAttribute="trailing" id="qWK-p3-7fO"/>
374
+                            <constraint firstItem="vQs-oc-uao" firstAttribute="top" secondItem="pk7-RT-o9s" secondAttribute="top" id="u3B-bZ-94D"/>
375 375
                         </constraints>
376 376
                         <viewLayoutGuide key="safeArea" id="pk7-RT-o9s"/>
377 377
                     </view>
378 378
                     <connections>
379
-                        <outlet property="commentBtn" destination="KVD-Az-tyJ" id="TaX-hY-vn2"/>
380
-                        <outlet property="commentUnreadTip" destination="Qi9-c7-GCt" id="xt8-kU-Ort"/>
381
-                        <outlet property="sysBtn" destination="WTN-Zx-JKR" id="j7o-gs-BXE"/>
382
-                        <outlet property="sysUnreadTip" destination="oLf-Xb-QSv" id="K9s-Ru-LqL"/>
383
-                        <outlet property="thumbupBtn" destination="T9q-a4-Ugc" id="f6h-aq-4F0"/>
384
-                        <outlet property="thumbupUnreadTip" destination="R8U-gK-x5D" id="Lxs-zK-zAs"/>
379
+                        <outlet property="commentBtn" destination="pAl-ew-Vda" id="3S2-SN-tES"/>
380
+                        <outlet property="commentUnreadTip" destination="Ywg-9R-Fz9" id="kdE-V6-bFR"/>
381
+                        <outlet property="sysBtn" destination="W1B-Rc-piS" id="7RM-xD-0Ix"/>
382
+                        <outlet property="sysUnreadTip" destination="veG-mJ-Dsh" id="lsK-b7-GGU"/>
383
+                        <outlet property="thumbupBtn" destination="cYK-SK-9WL" id="SpB-pC-x36"/>
384
+                        <outlet property="thumbupUnreadTip" destination="iqd-Ji-zvi" id="IDb-6y-Pp4"/>
385 385
                     </connections>
386 386
                 </viewController>
387 387
                 <placeholder placeholderIdentifier="IBFirstResponder" id="13z-ah-xbs" userLabel="First Responder" sceneMemberID="firstResponder"/>
388 388
             </objects>
389
-            <point key="canvasLocation" x="53.600000000000001" y="28.335832083958024"/>
389
+            <point key="canvasLocation" x="-52" y="-133"/>
390 390
         </scene>
391 391
     </scenes>
392 392
     <resources>

+ 1 - 1
PaiAi/Paiai_iOS/App/Mine/GroupCell.swift

@@ -22,7 +22,7 @@ final class GroupCell: UITableViewCell {
22 22
     func setInfo(_ info: GroupItem) {
23 23
         groupImageView.setImage(info.group_avatar, placeholder: UIImage(named: "Group\(info.group_default_avatar)"))
24 24
         groupNameLabel.text = info.group_name
25
-//        createTimeLabel.text =  info.created_at
25
+        createTimeLabel.text =  info.create_at
26 26
         photoNumLabel.text = "有\(info.group_photo_num)张照片"
27 27
     }
28 28
 }

+ 1 - 1
PaiAi/Paiai_iOS/App/Mine/MineFeedbackViewController.swift

@@ -32,7 +32,7 @@ final class MineFeedbackViewController: UIViewController {
32 32
 /// storyboard button action
33 33
 extension MineFeedbackViewController {
34 34
     @IBAction func sendFeedBack() {
35
-        Toast.showActivity(message: "正在提交")
35
+        Toast.showActivity(message: "正在提交中")
36 36
         feedbackAPI.submit(text: textView.text).subscribe(onCompleted: {[weak self] in
37 37
             guard let `self` = self else { return }
38 38
             Toast.hide()

+ 5 - 5
PaiAi/Paiai_iOS/App/PhotoDetail/PhotoDetailCommentCell.swift

@@ -28,10 +28,10 @@ class PhotoDetailCommentCell: UITableViewCell {
28 28
     }
29 29
 
30 30
     // MARK: init interface
31
-    func setInfo(_ data: PhotoCommentItem) {
32
-//        headImage.setImageWithNullableURL(data.avatar, placeholderImage: defaultAvatar)
33
-        name.text = data.nickname
34
-        content.text = data.comment
35
-//        time.text = data.create_at.getTimeInfoFromDate()
31
+    func setInfo(_ info: PhotoCommentItem) {
32
+        headImage.setImage(info.avatar, placeholder: UIImage.defaultAvatar)
33
+        name.text = info.nickname
34
+        content.text = info.comment
35
+        time.text = info.create_at
36 36
     }
37 37
 }

+ 1 - 1
PaiAi/Paiai_iOS/App/PhotoDetail/PhotoDetailCoordinator.swift

@@ -52,7 +52,7 @@ extension PhotoDetailCoordinator: PhotoDetailListViewModelDelegate {
52 52
     func didSelected() {
53 53
         let vc = UIStoryboard.photoDetail.instantiateController(PhotoPreviewViewController.self)
54 54
         vc.viewModel = shareListViewModel
55
-        navigationController.pushViewController(vc, animated: true)
55
+        photoDetailViewController.presentController(vc)
56 56
     }
57 57
 }
58 58
 

+ 13 - 13
PaiAi/Paiai_iOS/App/PhotoDetail/PhotoPreviewViewController.swift

@@ -47,21 +47,11 @@ final class PhotoPreviewViewController: UIViewController {
47 47
         navigationController?.setNavigationBarHidden(false, animated: true)
48 48
     }
49 49
     
50
-    @IBAction func download(_ sender: UIButton) {
51
-        guard let cell = collectionView.cellForItem(at: IndexPath(item: viewModel.currIndex, section: 0)) as? ImageCell,
52
-            let image = cell.photoImage.image else {
53
-                //            FFToastView.showToast(inView: view, withText: "未检测到图片")
54
-                return
55
-        }
56
-        
57
-        UIImageWriteToSavedPhotosAlbum(image, self, #selector(image(_:didFinishSavingWithError:contextInfo:)), nil)
58
-    }
59
-    
60 50
     @objc func image(_ image: UIImage?, didFinishSavingWithError error: NSError?, contextInfo info: UnsafeMutableRawPointer) {
61 51
         if error != nil {
62
-            //            FFToastView.showToast(inView: view, withText: "保存图片失败")
52
+            Toast.show(message: "保存照片失败")
63 53
         } else {
64
-            //            FFToastView.showImageToast(inView: view, withText: "已保存图片到相册", withImage: "提示弹窗-勾")
54
+            Toast.show(message: "已保存照片到相册中", image: UIImage(named: "icon-success"))
65 55
         }
66 56
     }
67 57
 }
@@ -105,6 +95,7 @@ extension PhotoPreviewViewController {
105 95
     @IBAction  func back() {
106 96
         navigationController?.popViewController(animated: true)
107 97
     }
98
+    
108 99
     @IBAction func rotateTheImage(_ sender: UIButton) {
109 100
         guard let cell = collectionView.cellForItem(at: IndexPath(item: viewModel.currIndex, section: 0)) as? ImageCell else {
110 101
             return
@@ -127,7 +118,16 @@ extension PhotoPreviewViewController {
127 118
         }
128 119
     }
129 120
     
130
-
121
+    @IBAction func download(_ sender: UIButton) {
122
+        Toast.showActivity(message: "正在保存照片到相册")
123
+        guard let cell = collectionView.cellForItem(at: IndexPath(item: viewModel.currIndex, section: 0)) as? ImageCell,
124
+            let image = cell.photoImage.image else {
125
+                Toast.show(message: "未检测到照片")
126
+                return
127
+        }
128
+        
129
+        UIImageWriteToSavedPhotosAlbum(image, self, #selector(image(_:didFinishSavingWithError:contextInfo:)), nil)
130
+    }
131 131
 }
132 132
 
133 133
 // MARK: UICollectionView delegate

Kodo/kodo - Gogs: Go Git Service

1 Commits (b95db9c5c37ee1a05ed05e1e6f6040c35a64de82)

Autore SHA1 Messaggio Data
  Brightcells af2b3f483f change download.html to be generated from download.tmpl.html 9 anni fa