Showing
1 changed file
with
0 additions
and
20 deletions
| ... | @@ -17,19 +17,15 @@ | ... | @@ -17,19 +17,15 @@ |
| 17 | <rect key="frame" x="0.0" y="0.0" width="170" height="280"/> | 17 | <rect key="frame" x="0.0" y="0.0" width="170" height="280"/> |
| 18 | <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | 18 | <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> |
| 19 | <subviews> | 19 | <subviews> |
| 20 | - <!-- parentView: card container with border + rounded corners --> | ||
| 21 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="A1B-CD-EFG" userLabel="parentView"> | 20 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="A1B-CD-EFG" userLabel="parentView"> |
| 22 | <rect key="frame" x="0.0" y="0.0" width="170" height="280"/> | 21 | <rect key="frame" x="0.0" y="0.0" width="170" height="280"/> |
| 23 | <subviews> | 22 | <subviews> |
| 24 | - <!-- Top View: gray background, banner image, logo, discount --> | ||
| 25 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="TOP-vw-001" userLabel="TopView"> | 23 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="TOP-vw-001" userLabel="TopView"> |
| 26 | <rect key="frame" x="0.0" y="0.0" width="170" height="140"/> | 24 | <rect key="frame" x="0.0" y="0.0" width="170" height="140"/> |
| 27 | <subviews> | 25 | <subviews> |
| 28 | - <!-- Banner image fills the top view --> | ||
| 29 | <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="BNR-img-001"> | 26 | <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="BNR-img-001"> |
| 30 | <rect key="frame" x="0.0" y="0.0" width="170" height="140"/> | 27 | <rect key="frame" x="0.0" y="0.0" width="170" height="140"/> |
| 31 | </imageView> | 28 | </imageView> |
| 32 | - <!-- Logo image: centered in top view --> | ||
| 33 | <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="LGO-img-001"> | 29 | <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="LGO-img-001"> |
| 34 | <rect key="frame" x="51" y="42" width="48" height="48"/> | 30 | <rect key="frame" x="51" y="42" width="48" height="48"/> |
| 35 | <constraints> | 31 | <constraints> |
| ... | @@ -37,7 +33,6 @@ | ... | @@ -37,7 +33,6 @@ |
| 37 | <constraint firstAttribute="height" constant="48" id="LGO-h-001"/> | 33 | <constraint firstAttribute="height" constant="48" id="LGO-h-001"/> |
| 38 | </constraints> | 34 | </constraints> |
| 39 | </imageView> | 35 | </imageView> |
| 40 | - <!-- Discount circle: top-right --> | ||
| 41 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="DSC-vw-001" userLabel="discountView"> | 36 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="DSC-vw-001" userLabel="discountView"> |
| 42 | <rect key="frame" x="130" y="8" width="34" height="34"/> | 37 | <rect key="frame" x="130" y="8" width="34" height="34"/> |
| 43 | <subviews> | 38 | <subviews> |
| ... | @@ -61,47 +56,38 @@ | ... | @@ -61,47 +56,38 @@ |
| 61 | </subviews> | 56 | </subviews> |
| 62 | <color key="backgroundColor" red="0.937" green="0.941" blue="0.945" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | 57 | <color key="backgroundColor" red="0.937" green="0.941" blue="0.945" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> |
| 63 | <constraints> | 58 | <constraints> |
| 64 | - <!-- Banner fills top view --> | ||
| 65 | <constraint firstItem="BNR-img-001" firstAttribute="top" secondItem="TOP-vw-001" secondAttribute="top" id="BNR-t-001"/> | 59 | <constraint firstItem="BNR-img-001" firstAttribute="top" secondItem="TOP-vw-001" secondAttribute="top" id="BNR-t-001"/> |
| 66 | <constraint firstItem="BNR-img-001" firstAttribute="leading" secondItem="TOP-vw-001" secondAttribute="leading" id="BNR-l-001"/> | 60 | <constraint firstItem="BNR-img-001" firstAttribute="leading" secondItem="TOP-vw-001" secondAttribute="leading" id="BNR-l-001"/> |
| 67 | <constraint firstAttribute="trailing" secondItem="BNR-img-001" secondAttribute="trailing" id="BNR-tr-001"/> | 61 | <constraint firstAttribute="trailing" secondItem="BNR-img-001" secondAttribute="trailing" id="BNR-tr-001"/> |
| 68 | <constraint firstAttribute="bottom" secondItem="BNR-img-001" secondAttribute="bottom" id="BNR-b-001"/> | 62 | <constraint firstAttribute="bottom" secondItem="BNR-img-001" secondAttribute="bottom" id="BNR-b-001"/> |
| 69 | - <!-- Logo centered --> | ||
| 70 | <constraint firstItem="LGO-img-001" firstAttribute="centerX" secondItem="TOP-vw-001" secondAttribute="centerX" id="LGO-cx-001"/> | 63 | <constraint firstItem="LGO-img-001" firstAttribute="centerX" secondItem="TOP-vw-001" secondAttribute="centerX" id="LGO-cx-001"/> |
| 71 | <constraint firstItem="LGO-img-001" firstAttribute="centerY" secondItem="TOP-vw-001" secondAttribute="centerY" id="LGO-cy-001"/> | 64 | <constraint firstItem="LGO-img-001" firstAttribute="centerY" secondItem="TOP-vw-001" secondAttribute="centerY" id="LGO-cy-001"/> |
| 72 | - <!-- Discount top-right, 8pt from edges --> | ||
| 73 | <constraint firstAttribute="trailing" secondItem="DSC-vw-001" secondAttribute="trailing" constant="8" id="DSC-tr2-001"/> | 65 | <constraint firstAttribute="trailing" secondItem="DSC-vw-001" secondAttribute="trailing" constant="8" id="DSC-tr2-001"/> |
| 74 | <constraint firstItem="DSC-vw-001" firstAttribute="top" secondItem="TOP-vw-001" secondAttribute="top" constant="8" id="DSC-top-001"/> | 66 | <constraint firstItem="DSC-vw-001" firstAttribute="top" secondItem="TOP-vw-001" secondAttribute="top" constant="8" id="DSC-top-001"/> |
| 75 | - <!-- Top view height --> | ||
| 76 | <constraint firstAttribute="height" constant="140" id="TOP-h-001"/> | 67 | <constraint firstAttribute="height" constant="140" id="TOP-h-001"/> |
| 77 | </constraints> | 68 | </constraints> |
| 78 | </view> | 69 | </view> |
| 79 | - <!-- Bottom View: white, text labels --> | ||
| 80 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="BTM-vw-001" userLabel="BottomView"> | 70 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="BTM-vw-001" userLabel="BottomView"> |
| 81 | <rect key="frame" x="0.0" y="140" width="170" height="140"/> | 71 | <rect key="frame" x="0.0" y="140" width="170" height="140"/> |
| 82 | <subviews> | 72 | <subviews> |
| 83 | - <!-- Merchant name label --> | ||
| 84 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Merchant" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="MRC-lbl-001"> | 73 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Merchant" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="MRC-lbl-001"> |
| 85 | <rect key="frame" x="10" y="10" width="150" height="16"/> | 74 | <rect key="frame" x="10" y="10" width="150" height="16"/> |
| 86 | <fontDescription key="fontDescription" type="system" pointSize="12"/> | 75 | <fontDescription key="fontDescription" type="system" pointSize="12"/> |
| 87 | <nil key="textColor"/> | 76 | <nil key="textColor"/> |
| 88 | <nil key="highlightedColor"/> | 77 | <nil key="highlightedColor"/> |
| 89 | </label> | 78 | </label> |
| 90 | - <!-- Title label (bold) --> | ||
| 91 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Title" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="TTL-lbl-001"> | 79 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Title" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="TTL-lbl-001"> |
| 92 | <rect key="frame" x="10" y="30" width="150" height="40"/> | 80 | <rect key="frame" x="10" y="30" width="150" height="40"/> |
| 93 | <fontDescription key="fontDescription" type="system" pointSize="15"/> | 81 | <fontDescription key="fontDescription" type="system" pointSize="15"/> |
| 94 | <nil key="textColor"/> | 82 | <nil key="textColor"/> |
| 95 | <nil key="highlightedColor"/> | 83 | <nil key="highlightedColor"/> |
| 96 | </label> | 84 | </label> |
| 97 | - <!-- Subtitle label --> | ||
| 98 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Subtitle" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SUB-lbl-001"> | 85 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Subtitle" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SUB-lbl-001"> |
| 99 | <rect key="frame" x="10" y="74" width="150" height="34"/> | 86 | <rect key="frame" x="10" y="74" width="150" height="34"/> |
| 100 | <fontDescription key="fontDescription" type="system" pointSize="13"/> | 87 | <fontDescription key="fontDescription" type="system" pointSize="13"/> |
| 101 | <nil key="textColor"/> | 88 | <nil key="textColor"/> |
| 102 | <nil key="highlightedColor"/> | 89 | <nil key="highlightedColor"/> |
| 103 | </label> | 90 | </label> |
| 104 | - <!-- Expiration label --> | ||
| 105 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="until 30-09" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="EXP-lbl-001"> | 91 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="until 30-09" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="EXP-lbl-001"> |
| 106 | <rect key="frame" x="10" y="112" width="150" height="16"/> | 92 | <rect key="frame" x="10" y="112" width="150" height="16"/> |
| 107 | <fontDescription key="fontDescription" type="system" pointSize="12"/> | 93 | <fontDescription key="fontDescription" type="system" pointSize="12"/> |
| ... | @@ -111,19 +97,15 @@ | ... | @@ -111,19 +97,15 @@ |
| 111 | </subviews> | 97 | </subviews> |
| 112 | <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | 98 | <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> |
| 113 | <constraints> | 99 | <constraints> |
| 114 | - <!-- Merchant label --> | ||
| 115 | <constraint firstItem="MRC-lbl-001" firstAttribute="top" secondItem="BTM-vw-001" secondAttribute="top" constant="10" id="MRC-t-001"/> | 100 | <constraint firstItem="MRC-lbl-001" firstAttribute="top" secondItem="BTM-vw-001" secondAttribute="top" constant="10" id="MRC-t-001"/> |
| 116 | <constraint firstItem="MRC-lbl-001" firstAttribute="leading" secondItem="BTM-vw-001" secondAttribute="leading" constant="10" id="MRC-l-001"/> | 101 | <constraint firstItem="MRC-lbl-001" firstAttribute="leading" secondItem="BTM-vw-001" secondAttribute="leading" constant="10" id="MRC-l-001"/> |
| 117 | <constraint firstAttribute="trailing" secondItem="MRC-lbl-001" secondAttribute="trailing" constant="10" id="MRC-tr-001"/> | 102 | <constraint firstAttribute="trailing" secondItem="MRC-lbl-001" secondAttribute="trailing" constant="10" id="MRC-tr-001"/> |
| 118 | - <!-- Title below merchant, 4pt gap --> | ||
| 119 | <constraint firstItem="TTL-lbl-001" firstAttribute="top" secondItem="MRC-lbl-001" secondAttribute="bottom" constant="4" id="TTL-t-001"/> | 103 | <constraint firstItem="TTL-lbl-001" firstAttribute="top" secondItem="MRC-lbl-001" secondAttribute="bottom" constant="4" id="TTL-t-001"/> |
| 120 | <constraint firstItem="TTL-lbl-001" firstAttribute="leading" secondItem="BTM-vw-001" secondAttribute="leading" constant="10" id="TTL-l-001"/> | 104 | <constraint firstItem="TTL-lbl-001" firstAttribute="leading" secondItem="BTM-vw-001" secondAttribute="leading" constant="10" id="TTL-l-001"/> |
| 121 | <constraint firstAttribute="trailing" secondItem="TTL-lbl-001" secondAttribute="trailing" constant="10" id="TTL-tr-001"/> | 105 | <constraint firstAttribute="trailing" secondItem="TTL-lbl-001" secondAttribute="trailing" constant="10" id="TTL-tr-001"/> |
| 122 | - <!-- Subtitle below title, 4pt gap --> | ||
| 123 | <constraint firstItem="SUB-lbl-001" firstAttribute="top" secondItem="TTL-lbl-001" secondAttribute="bottom" constant="4" id="SUB-t-001"/> | 106 | <constraint firstItem="SUB-lbl-001" firstAttribute="top" secondItem="TTL-lbl-001" secondAttribute="bottom" constant="4" id="SUB-t-001"/> |
| 124 | <constraint firstItem="SUB-lbl-001" firstAttribute="leading" secondItem="BTM-vw-001" secondAttribute="leading" constant="10" id="SUB-l-001"/> | 107 | <constraint firstItem="SUB-lbl-001" firstAttribute="leading" secondItem="BTM-vw-001" secondAttribute="leading" constant="10" id="SUB-l-001"/> |
| 125 | <constraint firstAttribute="trailing" secondItem="SUB-lbl-001" secondAttribute="trailing" constant="10" id="SUB-tr-001"/> | 108 | <constraint firstAttribute="trailing" secondItem="SUB-lbl-001" secondAttribute="trailing" constant="10" id="SUB-tr-001"/> |
| 126 | - <!-- Expiration pinned to bottom --> | ||
| 127 | <constraint firstAttribute="bottom" secondItem="EXP-lbl-001" secondAttribute="bottom" constant="10" id="EXP-b-001"/> | 109 | <constraint firstAttribute="bottom" secondItem="EXP-lbl-001" secondAttribute="bottom" constant="10" id="EXP-b-001"/> |
| 128 | <constraint firstItem="EXP-lbl-001" firstAttribute="leading" secondItem="BTM-vw-001" secondAttribute="leading" constant="10" id="EXP-l-001"/> | 110 | <constraint firstItem="EXP-lbl-001" firstAttribute="leading" secondItem="BTM-vw-001" secondAttribute="leading" constant="10" id="EXP-l-001"/> |
| 129 | <constraint firstAttribute="trailing" secondItem="EXP-lbl-001" secondAttribute="trailing" constant="10" id="EXP-tr-001"/> | 111 | <constraint firstAttribute="trailing" secondItem="EXP-lbl-001" secondAttribute="trailing" constant="10" id="EXP-tr-001"/> |
| ... | @@ -132,11 +114,9 @@ | ... | @@ -132,11 +114,9 @@ |
| 132 | </subviews> | 114 | </subviews> |
| 133 | <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | 115 | <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> |
| 134 | <constraints> | 116 | <constraints> |
| 135 | - <!-- Top view pinned to top --> | ||
| 136 | <constraint firstItem="TOP-vw-001" firstAttribute="top" secondItem="A1B-CD-EFG" secondAttribute="top" id="TOP-t-p-001"/> | 117 | <constraint firstItem="TOP-vw-001" firstAttribute="top" secondItem="A1B-CD-EFG" secondAttribute="top" id="TOP-t-p-001"/> |
| 137 | <constraint firstItem="TOP-vw-001" firstAttribute="leading" secondItem="A1B-CD-EFG" secondAttribute="leading" id="TOP-l-p-001"/> | 118 | <constraint firstItem="TOP-vw-001" firstAttribute="leading" secondItem="A1B-CD-EFG" secondAttribute="leading" id="TOP-l-p-001"/> |
| 138 | <constraint firstAttribute="trailing" secondItem="TOP-vw-001" secondAttribute="trailing" id="TOP-tr-p-001"/> | 119 | <constraint firstAttribute="trailing" secondItem="TOP-vw-001" secondAttribute="trailing" id="TOP-tr-p-001"/> |
| 139 | - <!-- Bottom view below top view --> | ||
| 140 | <constraint firstItem="BTM-vw-001" firstAttribute="top" secondItem="TOP-vw-001" secondAttribute="bottom" id="BTM-t-p-001"/> | 120 | <constraint firstItem="BTM-vw-001" firstAttribute="top" secondItem="TOP-vw-001" secondAttribute="bottom" id="BTM-t-p-001"/> |
| 141 | <constraint firstItem="BTM-vw-001" firstAttribute="leading" secondItem="A1B-CD-EFG" secondAttribute="leading" id="BTM-l-p-001"/> | 121 | <constraint firstItem="BTM-vw-001" firstAttribute="leading" secondItem="A1B-CD-EFG" secondAttribute="leading" id="BTM-l-p-001"/> |
| 142 | <constraint firstAttribute="trailing" secondItem="BTM-vw-001" secondAttribute="trailing" id="BTM-tr-p-001"/> | 122 | <constraint firstAttribute="trailing" secondItem="BTM-vw-001" secondAttribute="trailing" id="BTM-tr-p-001"/> | ... | ... |
-
Please register or login to post a comment