merge leftBottomLabel for Feed Cells

This commit is contained in:
nixzhu
2015-12-15 17:52:11 +08:00
parent 81969a4e9e
commit 327c1e18fb
4 changed files with 25 additions and 60 deletions
+4 -2
View File
@@ -16,6 +16,8 @@ class FeedCell: FeedBasicCell {
@IBOutlet weak var mediaCollectionView: UICollectionView!
@IBOutlet weak var collectionViewHeight: NSLayoutConstraint!
@IBOutlet weak var leftBottomLabelTopConstraint: NSLayoutConstraint!
var tapMediaAction: ((transitionView: UIView, image: UIImage?, attachments: [DiscoveredAttachment], index: Int) -> Void)?
var attachments = [DiscoveredAttachment]() {
@@ -112,9 +114,9 @@ class FeedCell: FeedBasicCell {
}
if attachments.count > 1 {
timeLabelTopConstraint.constant = hasMedia ? (15 + feedAttachmentImageSize.height + 15) : 15
leftBottomLabelTopConstraint.constant = hasMedia ? (15 + feedAttachmentImageSize.height + 15) : 15
} else {
timeLabelTopConstraint.constant = hasMedia ? (15 + feedAttachmentBiggerImageSize.height + 15) : 15
leftBottomLabelTopConstraint.constant = hasMedia ? (15 + feedAttachmentBiggerImageSize.height + 15) : 15
}
mediaCollectionView.hidden = hasMedia ? false : true
+4 -24
View File
@@ -15,8 +15,8 @@
<rect key="frame" x="0.0" y="0.0" width="381" height="216.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2 hours ago" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="yFm-kf-Ghp" userLabel="Time Label">
<rect key="frame" x="65" y="183" width="76" height="17"/>
<label clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2 hours ago ∙ 1.2 km" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="yFm-kf-Ghp" userLabel="Time Label">
<rect key="frame" x="65" y="183" width="127.5" height="17"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<fontDescription key="fontDescription" type="system" weight="light" pointSize="14"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
@@ -50,20 +50,6 @@
<constraint firstAttribute="width" constant="40" id="iWz-Lj-rIE"/>
</constraints>
</imageView>
<label clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="∙" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="uBN-7F-tdQ" userLabel="Dot Label">
<rect key="frame" x="146" y="183" width="4.5" height="17"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<color key="textColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/>
<nil key="highlightedColor"/>
</label>
<label clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="1.2 km" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="uir-A9-aaJ" userLabel="Distance Label">
<rect key="frame" x="155" y="183" width="40.5" height="17"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<fontDescription key="fontDescription" type="system" weight="light" pointSize="14"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<label clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="42" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6k9-TF-Ftd" userLabel="Message Count Label">
<rect key="frame" x="309" y="183" width="17" height="17"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
@@ -96,7 +82,6 @@
<constraint firstItem="yFm-kf-Ghp" firstAttribute="leading" secondItem="d97-mK-bJE" secondAttribute="leading" id="4dw-W2-nT9"/>
<constraint firstAttribute="trailing" secondItem="1ec-vd-wUU" secondAttribute="trailing" constant="25" id="5Wn-VO-vyC"/>
<constraint firstAttribute="trailing" secondItem="B9B-Nc-h8k" secondAttribute="trailing" constant="15" id="5um-0R-Amw"/>
<constraint firstItem="uir-A9-aaJ" firstAttribute="leading" secondItem="uBN-7F-tdQ" secondAttribute="trailing" constant="5" id="6Om-7C-Hkr"/>
<constraint firstItem="WvT-iw-dEo" firstAttribute="leading" secondItem="d97-mK-bJE" secondAttribute="trailing" constant="8" id="7g8-E5-Ay0"/>
<constraint firstItem="COt-7F-KVK" firstAttribute="top" secondItem="XYv-cX-YOQ" secondAttribute="bottom" constant="15" id="9J9-YH-c9Y"/>
<constraint firstAttribute="trailing" secondItem="COt-7F-KVK" secondAttribute="trailing" id="AfO-Hm-djL"/>
@@ -105,16 +90,13 @@
<constraint firstItem="XYv-cX-YOQ" firstAttribute="top" secondItem="GRs-kP-Ugk" secondAttribute="bottom" constant="4" id="ISv-4s-Llp"/>
<constraint firstItem="XYv-cX-YOQ" firstAttribute="leading" secondItem="d97-mK-bJE" secondAttribute="leading" id="IxD-gR-ma8"/>
<constraint firstItem="B9B-Nc-h8k" firstAttribute="leading" secondItem="6k9-TF-Ftd" secondAttribute="trailing" constant="10" id="JkX-QS-ZmS"/>
<constraint firstItem="uir-A9-aaJ" firstAttribute="centerY" secondItem="uBN-7F-tdQ" secondAttribute="centerY" id="Lb2-Zk-cYt"/>
<constraint firstAttribute="trailing" secondItem="XYv-cX-YOQ" secondAttribute="trailing" constant="15" id="MkQ-lA-NHH"/>
<constraint firstItem="d97-mK-bJE" firstAttribute="leading" secondItem="GRs-kP-Ugk" secondAttribute="trailing" constant="10" id="QXo-33-0ak"/>
<constraint firstItem="B9B-Nc-h8k" firstAttribute="centerY" secondItem="yFm-kf-Ghp" secondAttribute="centerY" id="RQK-md-Cni"/>
<constraint firstItem="6k9-TF-Ftd" firstAttribute="centerY" secondItem="B9B-Nc-h8k" secondAttribute="centerY" id="Sk6-jV-ssD"/>
<constraint firstItem="d97-mK-bJE" firstAttribute="centerY" secondItem="GRs-kP-Ugk" secondAttribute="centerY" id="XVe-o1-zRc"/>
<constraint firstItem="uBN-7F-tdQ" firstAttribute="leading" secondItem="yFm-kf-Ghp" secondAttribute="trailing" constant="5" id="Xda-w3-QFx"/>
<constraint firstItem="GRs-kP-Ugk" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="10" id="cna-DW-PPM"/>
<constraint firstItem="GRs-kP-Ugk" firstAttribute="width" secondItem="GRs-kP-Ugk" secondAttribute="height" multiplier="1:1" id="eSL-Jv-LjB"/>
<constraint firstItem="uBN-7F-tdQ" firstAttribute="centerY" secondItem="yFm-kf-Ghp" secondAttribute="centerY" id="ktH-o8-C29"/>
<constraint firstItem="WvT-iw-dEo" firstAttribute="centerY" secondItem="1ec-vd-wUU" secondAttribute="centerY" id="qUZ-7m-we3"/>
<constraint firstItem="yFm-kf-Ghp" firstAttribute="top" secondItem="XYv-cX-YOQ" secondAttribute="bottom" constant="103" id="sKd-JT-Af9"/>
<constraint firstItem="GRs-kP-Ugk" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="15" id="tIk-7d-Ux7"/>
@@ -126,8 +108,8 @@
<connections>
<outlet property="avatarImageView" destination="GRs-kP-Ugk" id="Rch-2A-tIe"/>
<outlet property="collectionViewHeight" destination="6PE-QR-i1C" id="dys-gS-hg4"/>
<outlet property="distanceLabel" destination="uir-A9-aaJ" id="asK-JQ-ew5"/>
<outlet property="dotLabel" destination="uBN-7F-tdQ" id="oXp-q6-WJv"/>
<outlet property="leftBottomLabel" destination="yFm-kf-Ghp" id="DJi-XF-E6C"/>
<outlet property="leftBottomLabelTopConstraint" destination="sKd-JT-Af9" id="UUi-Ex-7Oc"/>
<outlet property="mediaCollectionView" destination="COt-7F-KVK" id="ldA-nK-8V3"/>
<outlet property="messageCountLabel" destination="6k9-TF-Ftd" id="GNB-Qx-e2z"/>
<outlet property="messageTextView" destination="XYv-cX-YOQ" id="2mS-ke-PoR"/>
@@ -135,8 +117,6 @@
<outlet property="nicknameLabel" destination="d97-mK-bJE" id="xcQ-hs-iRs"/>
<outlet property="skillBubbleImageView" destination="WvT-iw-dEo" id="NjY-at-yj6"/>
<outlet property="skillLabel" destination="1ec-vd-wUU" id="Fa7-yj-SnH"/>
<outlet property="timeLabel" destination="yFm-kf-Ghp" id="Uph-sR-xxS"/>
<outlet property="timeLabelTopConstraint" destination="sKd-JT-Af9" id="fsT-Jb-Ro7"/>
</connections>
<point key="canvasLocation" x="322.5" y="383.5"/>
</tableViewCell>
+13 -10
View File
@@ -18,10 +18,7 @@ class FeedBasicCell: UITableViewCell {
@IBOutlet weak var messageTextView: FeedTextView!
@IBOutlet weak var messageTextViewHeightConstraint: NSLayoutConstraint!
@IBOutlet weak var timeLabel: UILabel!
@IBOutlet weak var timeLabelTopConstraint: NSLayoutConstraint!
@IBOutlet weak var dotLabel: UILabel!
@IBOutlet weak var distanceLabel: UILabel!
@IBOutlet weak var leftBottomLabel: UILabel!
@IBOutlet weak var messageCountLabel: UILabel!
@@ -44,9 +41,7 @@ class FeedBasicCell: UITableViewCell {
nicknameLabel.textColor = UIColor.yepTintColor()
messageTextView.textColor = UIColor.yepMessageColor()
distanceLabel.textColor = UIColor.grayColor()
timeLabel.textColor = UIColor.grayColor()
dotLabel.textColor = UIColor.grayColor()
leftBottomLabel.textColor = UIColor.grayColor()
messageCountLabel.textColor = UIColor.yepTintColor()
skillLabel.textColor = UIColor.yepTintColor()
@@ -119,15 +114,23 @@ class FeedBasicCell: UITableViewCell {
nicknameLabel.text = feed.creator.nickname
let timeString = "\(NSDate(timeIntervalSince1970: feed.createdUnixTime).timeAgo)"
var distanceString: String?
if let distance = feed.distance {
if distance < 1 {
distanceLabel.text = NSLocalizedString("Nearby", comment: "")
distanceString = NSLocalizedString("Nearby", comment: "")
} else {
distanceLabel.text = "\(distance.format(".1")) km"
distanceString = "\(distance.format(".1")) km"
}
}
timeLabel.text = "\(NSDate(timeIntervalSince1970: feed.createdUnixTime).timeAgo)"
if let distanceString = distanceString {
leftBottomLabel.text = timeString + "" + distanceString
} else {
leftBottomLabel.text = timeString
}
messageCountLabel.text = "\(feed.messagesCount)"
messageCountLabel.hidden = (feed.messagesCount == 0)
}
@@ -15,8 +15,8 @@
<rect key="frame" x="0.0" y="0.0" width="402" height="351.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2 hours ago" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9CZ-zE-b9N" userLabel="Time Label">
<rect key="frame" x="65" y="310" width="76" height="17"/>
<label clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2 hours ago ∙ 1.2 km" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9CZ-zE-b9N" userLabel="Time Label">
<rect key="frame" x="65" y="310" width="127.5" height="17"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<fontDescription key="fontDescription" type="system" weight="light" pointSize="14"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
@@ -38,20 +38,6 @@
<constraint firstAttribute="width" constant="40" id="1S1-Ds-KZn"/>
</constraints>
</imageView>
<label clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="∙" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="jBw-TP-dTO" userLabel="Dot Label">
<rect key="frame" x="146" y="310" width="4.5" height="17"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<color key="textColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/>
<nil key="highlightedColor"/>
</label>
<label clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="1.2 km" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="v8d-Cd-K5Y" userLabel="Distance Label">
<rect key="frame" x="155" y="310" width="40.5" height="17"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<fontDescription key="fontDescription" type="system" weight="light" pointSize="14"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<label clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="42" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dhp-xa-CcY" userLabel="Message Count Label">
<rect key="frame" x="330" y="310" width="17" height="17"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
@@ -245,7 +231,7 @@
<color key="tintColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</imageView>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_pin_shadow" translatesAutoresizingMaskIntoConstraints="NO" id="8em-0q-jE1">
<rect key="frame" x="129" y="73.5" width="18" height="24"/>
<rect key="frame" x="129" y="73" width="18" height="24"/>
</imageView>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="social_work_border_line" translatesAutoresizingMaskIntoConstraints="NO" id="3Re-c6-tcE">
<rect key="frame" x="1" y="169" width="275" height="1"/>
@@ -317,7 +303,6 @@
<constraints>
<constraint firstAttribute="trailing" secondItem="Tlc-MI-H1b" secondAttribute="trailing" constant="74" id="0Ef-zJ-e9x"/>
<constraint firstAttribute="trailing" secondItem="lSm-jk-upN" secondAttribute="trailing" constant="25" id="0OJ-Pu-y1p"/>
<constraint firstItem="jBw-TP-dTO" firstAttribute="centerY" secondItem="9CZ-zE-b9N" secondAttribute="centerY" id="1BS-zl-8vD"/>
<constraint firstItem="mEi-Ot-P04" firstAttribute="trailing" secondItem="lSm-jk-upN" secondAttribute="trailing" constant="10" id="1af-de-b3E"/>
<constraint firstItem="viF-na-QGX" firstAttribute="centerY" secondItem="lyg-eU-J2p" secondAttribute="centerY" id="5So-sI-oYv"/>
<constraint firstItem="lyg-eU-J2p" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="15" id="6cS-RN-NhO"/>
@@ -327,21 +312,18 @@
<constraint firstItem="Xeg-hl-49c" firstAttribute="top" secondItem="lyg-eU-J2p" secondAttribute="bottom" constant="4" id="KvD-q8-C6x"/>
<constraint firstItem="Tlc-MI-H1b" firstAttribute="centerY" secondItem="viF-na-QGX" secondAttribute="centerY" id="M6V-9K-GkW"/>
<constraint firstItem="9CZ-zE-b9N" firstAttribute="leading" secondItem="viF-na-QGX" secondAttribute="leading" id="QwI-Mp-xqY"/>
<constraint firstItem="v8d-Cd-K5Y" firstAttribute="leading" secondItem="jBw-TP-dTO" secondAttribute="trailing" constant="5" id="SPp-6H-CIm"/>
<constraint firstItem="lSm-jk-upN" firstAttribute="leading" secondItem="mEi-Ot-P04" secondAttribute="leading" constant="10" id="X8j-2W-9Us"/>
<constraint firstItem="dhp-xa-CcY" firstAttribute="centerY" secondItem="fqI-ij-1Pj" secondAttribute="centerY" id="ZRm-Fq-eqi"/>
<constraint firstItem="viF-na-QGX" firstAttribute="leading" secondItem="lyg-eU-J2p" secondAttribute="trailing" constant="10" id="cLu-0m-Gh0"/>
<constraint firstItem="eHY-0K-bDQ" firstAttribute="top" secondItem="Xeg-hl-49c" secondAttribute="bottom" constant="15" id="eze-0p-5Oc"/>
<constraint firstItem="lyg-eU-J2p" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="10" id="f4R-YP-lhh"/>
<constraint firstAttribute="trailing" secondItem="eHY-0K-bDQ" secondAttribute="trailing" constant="60" id="gQL-VB-nuG"/>
<constraint firstItem="jBw-TP-dTO" firstAttribute="leading" secondItem="9CZ-zE-b9N" secondAttribute="trailing" constant="5" id="h0i-Yv-0ia"/>
<constraint firstItem="eHY-0K-bDQ" firstAttribute="leading" secondItem="Xeg-hl-49c" secondAttribute="leading" id="i5x-ip-Wth"/>
<constraint firstAttribute="trailing" secondItem="fqI-ij-1Pj" secondAttribute="trailing" constant="15" id="lcj-5f-hIP"/>
<constraint firstItem="9CZ-zE-b9N" firstAttribute="top" secondItem="eHY-0K-bDQ" secondAttribute="bottom" constant="15" id="mAw-uy-sHw"/>
<constraint firstItem="mEi-Ot-P04" firstAttribute="centerY" secondItem="lSm-jk-upN" secondAttribute="centerY" id="pWG-4p-W23"/>
<constraint firstAttribute="trailing" secondItem="Xeg-hl-49c" secondAttribute="trailing" constant="15" id="pcn-VC-2BM"/>
<constraint firstItem="Tlc-MI-H1b" firstAttribute="leading" secondItem="viF-na-QGX" secondAttribute="trailing" constant="10" id="rvc-zs-SGL"/>
<constraint firstItem="v8d-Cd-K5Y" firstAttribute="centerY" secondItem="jBw-TP-dTO" secondAttribute="centerY" id="sux-qA-Sqc"/>
<constraint firstItem="fqI-ij-1Pj" firstAttribute="centerY" secondItem="9CZ-zE-b9N" secondAttribute="centerY" id="tnO-T5-MBo"/>
<constraint firstItem="Xeg-hl-49c" firstAttribute="leading" secondItem="viF-na-QGX" secondAttribute="leading" id="ygU-tt-O9Y"/>
</constraints>
@@ -349,14 +331,13 @@
<inset key="separatorInset" minX="60" minY="0.0" maxX="0.0" maxY="0.0"/>
<connections>
<outlet property="avatarImageView" destination="lyg-eU-J2p" id="o1o-7n-PKc"/>
<outlet property="distanceLabel" destination="v8d-Cd-K5Y" id="jiE-wW-az6"/>
<outlet property="dotLabel" destination="jBw-TP-dTO" id="R64-4a-srd"/>
<outlet property="githubRepoAccessoryImageView" destination="dxa-Hj-jcb" id="Ftm-O4-2Lh"/>
<outlet property="githubRepoContainerView" destination="sme-NU-I1C" id="M38-rG-s2e"/>
<outlet property="githubRepoDescriptionLabel" destination="5x4-6E-BzO" id="9ZV-oi-ou0"/>
<outlet property="githubRepoImageView" destination="nUx-HZ-47V" id="Q1O-IT-bIW"/>
<outlet property="githubRepoImageViewTrailingConstraint" destination="0Ef-zJ-e9x" id="l0Y-6K-DvF"/>
<outlet property="githubRepoNameLabel" destination="Xws-vr-3yM" id="3Xb-wb-WEE"/>
<outlet property="leftBottomLabel" destination="9CZ-zE-b9N" id="JGf-RX-sTu"/>
<outlet property="linkAccessoryImageView" destination="scn-AJ-OnL" id="Zvi-vz-aTk"/>
<outlet property="linkContainerView" destination="Qce-m8-cg3" id="6iX-vN-ZGl"/>
<outlet property="linkContainerViewHeightConstraint" destination="nur-mt-vtR" id="dRC-Pi-Qun"/>
@@ -377,7 +358,6 @@
<outlet property="socialWorkContainerView" destination="eHY-0K-bDQ" id="XmX-Qj-xlW"/>
<outlet property="socialWorkContainerViewHeightConstraint" destination="Ogh-S5-nei" id="56b-gu-LFP"/>
<outlet property="socialWorkImageView" destination="ZHv-eL-Vww" id="NqZ-4L-5j1"/>
<outlet property="timeLabel" destination="9CZ-zE-b9N" id="oRx-eX-zoP"/>
<outlet property="voiceBubbleImageVIew" destination="vI1-cB-kyM" id="whZ-OH-ndI"/>
<outlet property="voiceContainerView" destination="2Wk-SP-ftQ" id="H7z-75-uJQ"/>
<outlet property="voicePlayButton" destination="cly-Qr-vsm" id="taF-yZ-67V"/>