Manos Chorianopoulos

crash fix

......@@ -17,19 +17,15 @@
<rect key="frame" x="0.0" y="0.0" width="170" height="280"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<!-- parentView: card container with border + rounded corners -->
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="A1B-CD-EFG" userLabel="parentView">
<rect key="frame" x="0.0" y="0.0" width="170" height="280"/>
<subviews>
<!-- Top View: gray background, banner image, logo, discount -->
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="TOP-vw-001" userLabel="TopView">
<rect key="frame" x="0.0" y="0.0" width="170" height="140"/>
<subviews>
<!-- Banner image fills the top view -->
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="BNR-img-001">
<rect key="frame" x="0.0" y="0.0" width="170" height="140"/>
</imageView>
<!-- Logo image: centered in top view -->
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="LGO-img-001">
<rect key="frame" x="51" y="42" width="48" height="48"/>
<constraints>
......@@ -37,7 +33,6 @@
<constraint firstAttribute="height" constant="48" id="LGO-h-001"/>
</constraints>
</imageView>
<!-- Discount circle: top-right -->
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="DSC-vw-001" userLabel="discountView">
<rect key="frame" x="130" y="8" width="34" height="34"/>
<subviews>
......@@ -61,47 +56,38 @@
</subviews>
<color key="backgroundColor" red="0.937" green="0.941" blue="0.945" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<!-- Banner fills top view -->
<constraint firstItem="BNR-img-001" firstAttribute="top" secondItem="TOP-vw-001" secondAttribute="top" id="BNR-t-001"/>
<constraint firstItem="BNR-img-001" firstAttribute="leading" secondItem="TOP-vw-001" secondAttribute="leading" id="BNR-l-001"/>
<constraint firstAttribute="trailing" secondItem="BNR-img-001" secondAttribute="trailing" id="BNR-tr-001"/>
<constraint firstAttribute="bottom" secondItem="BNR-img-001" secondAttribute="bottom" id="BNR-b-001"/>
<!-- Logo centered -->
<constraint firstItem="LGO-img-001" firstAttribute="centerX" secondItem="TOP-vw-001" secondAttribute="centerX" id="LGO-cx-001"/>
<constraint firstItem="LGO-img-001" firstAttribute="centerY" secondItem="TOP-vw-001" secondAttribute="centerY" id="LGO-cy-001"/>
<!-- Discount top-right, 8pt from edges -->
<constraint firstAttribute="trailing" secondItem="DSC-vw-001" secondAttribute="trailing" constant="8" id="DSC-tr2-001"/>
<constraint firstItem="DSC-vw-001" firstAttribute="top" secondItem="TOP-vw-001" secondAttribute="top" constant="8" id="DSC-top-001"/>
<!-- Top view height -->
<constraint firstAttribute="height" constant="140" id="TOP-h-001"/>
</constraints>
</view>
<!-- Bottom View: white, text labels -->
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="BTM-vw-001" userLabel="BottomView">
<rect key="frame" x="0.0" y="140" width="170" height="140"/>
<subviews>
<!-- Merchant name label -->
<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">
<rect key="frame" x="10" y="10" width="150" height="16"/>
<fontDescription key="fontDescription" type="system" pointSize="12"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<!-- Title label (bold) -->
<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">
<rect key="frame" x="10" y="30" width="150" height="40"/>
<fontDescription key="fontDescription" type="system" pointSize="15"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<!-- Subtitle label -->
<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">
<rect key="frame" x="10" y="74" width="150" height="34"/>
<fontDescription key="fontDescription" type="system" pointSize="13"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<!-- Expiration label -->
<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">
<rect key="frame" x="10" y="112" width="150" height="16"/>
<fontDescription key="fontDescription" type="system" pointSize="12"/>
......@@ -111,19 +97,15 @@
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<!-- Merchant label -->
<constraint firstItem="MRC-lbl-001" firstAttribute="top" secondItem="BTM-vw-001" secondAttribute="top" constant="10" id="MRC-t-001"/>
<constraint firstItem="MRC-lbl-001" firstAttribute="leading" secondItem="BTM-vw-001" secondAttribute="leading" constant="10" id="MRC-l-001"/>
<constraint firstAttribute="trailing" secondItem="MRC-lbl-001" secondAttribute="trailing" constant="10" id="MRC-tr-001"/>
<!-- Title below merchant, 4pt gap -->
<constraint firstItem="TTL-lbl-001" firstAttribute="top" secondItem="MRC-lbl-001" secondAttribute="bottom" constant="4" id="TTL-t-001"/>
<constraint firstItem="TTL-lbl-001" firstAttribute="leading" secondItem="BTM-vw-001" secondAttribute="leading" constant="10" id="TTL-l-001"/>
<constraint firstAttribute="trailing" secondItem="TTL-lbl-001" secondAttribute="trailing" constant="10" id="TTL-tr-001"/>
<!-- Subtitle below title, 4pt gap -->
<constraint firstItem="SUB-lbl-001" firstAttribute="top" secondItem="TTL-lbl-001" secondAttribute="bottom" constant="4" id="SUB-t-001"/>
<constraint firstItem="SUB-lbl-001" firstAttribute="leading" secondItem="BTM-vw-001" secondAttribute="leading" constant="10" id="SUB-l-001"/>
<constraint firstAttribute="trailing" secondItem="SUB-lbl-001" secondAttribute="trailing" constant="10" id="SUB-tr-001"/>
<!-- Expiration pinned to bottom -->
<constraint firstAttribute="bottom" secondItem="EXP-lbl-001" secondAttribute="bottom" constant="10" id="EXP-b-001"/>
<constraint firstItem="EXP-lbl-001" firstAttribute="leading" secondItem="BTM-vw-001" secondAttribute="leading" constant="10" id="EXP-l-001"/>
<constraint firstAttribute="trailing" secondItem="EXP-lbl-001" secondAttribute="trailing" constant="10" id="EXP-tr-001"/>
......@@ -132,11 +114,9 @@
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<!-- Top view pinned to top -->
<constraint firstItem="TOP-vw-001" firstAttribute="top" secondItem="A1B-CD-EFG" secondAttribute="top" id="TOP-t-p-001"/>
<constraint firstItem="TOP-vw-001" firstAttribute="leading" secondItem="A1B-CD-EFG" secondAttribute="leading" id="TOP-l-p-001"/>
<constraint firstAttribute="trailing" secondItem="TOP-vw-001" secondAttribute="trailing" id="TOP-tr-p-001"/>
<!-- Bottom view below top view -->
<constraint firstItem="BTM-vw-001" firstAttribute="top" secondItem="TOP-vw-001" secondAttribute="bottom" id="BTM-t-p-001"/>
<constraint firstItem="BTM-vw-001" firstAttribute="leading" secondItem="A1B-CD-EFG" secondAttribute="leading" id="BTM-l-p-001"/>
<constraint firstAttribute="trailing" secondItem="BTM-vw-001" secondAttribute="trailing" id="BTM-tr-p-001"/>
......