Table Cell Prototype
This commit is contained in:
@@ -279,95 +279,105 @@
|
|||||||
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
|
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<stackView opaque="NO" contentMode="scaleToFill" fixedFrame="YES" spacing="34" translatesAutoresizingMaskIntoConstraints="NO" id="Lnz-vd-hkl">
|
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="51" translatesAutoresizingMaskIntoConstraints="NO" id="Apb-MM-jue">
|
||||||
<rect key="frame" x="41" y="131" width="332.5" height="60"/>
|
<rect key="frame" x="20" y="89" width="374" height="714"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="00" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="54s-5X-INP">
|
<stackView opaque="NO" contentMode="scaleToFill" spacing="34" translatesAutoresizingMaskIntoConstraints="NO" id="Lnz-vd-hkl">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="58.5" height="60"/>
|
<rect key="frame" x="0.0" y="0.0" width="374" height="60"/>
|
||||||
<fontDescription key="fontDescription" type="system" weight="ultraLight" pointSize="50"/>
|
<subviews>
|
||||||
<nil key="textColor"/>
|
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" verticalHuggingPriority="251" text="00" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="54s-5X-INP">
|
||||||
<nil key="highlightedColor"/>
|
<rect key="frame" x="0.0" y="0.0" width="100" height="60"/>
|
||||||
</label>
|
<fontDescription key="fontDescription" type="system" weight="ultraLight" pointSize="50"/>
|
||||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=":" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="W12-19-4Jh">
|
<nil key="textColor"/>
|
||||||
<rect key="frame" x="92.5" y="0.0" width="10.5" height="60"/>
|
<nil key="highlightedColor"/>
|
||||||
<fontDescription key="fontDescription" type="system" weight="ultraLight" pointSize="50"/>
|
</label>
|
||||||
<nil key="textColor"/>
|
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=":" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="W12-19-4Jh">
|
||||||
<nil key="highlightedColor"/>
|
<rect key="frame" x="134" y="0.0" width="10.5" height="60"/>
|
||||||
</label>
|
<fontDescription key="fontDescription" type="system" weight="ultraLight" pointSize="50"/>
|
||||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="00" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rpt-j6-UiB">
|
<nil key="textColor"/>
|
||||||
<rect key="frame" x="137" y="0.0" width="58.5" height="60"/>
|
<nil key="highlightedColor"/>
|
||||||
<fontDescription key="fontDescription" type="system" weight="ultraLight" pointSize="50"/>
|
</label>
|
||||||
<nil key="textColor"/>
|
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="00" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rpt-j6-UiB">
|
||||||
<nil key="highlightedColor"/>
|
<rect key="frame" x="178.5" y="0.0" width="58.5" height="60"/>
|
||||||
</label>
|
<fontDescription key="fontDescription" type="system" weight="ultraLight" pointSize="50"/>
|
||||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=":" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rGI-kH-dgk">
|
<nil key="textColor"/>
|
||||||
<rect key="frame" x="229.5" y="0.0" width="10.5" height="60"/>
|
<nil key="highlightedColor"/>
|
||||||
<fontDescription key="fontDescription" type="system" weight="ultraLight" pointSize="50"/>
|
</label>
|
||||||
<nil key="textColor"/>
|
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=":" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rGI-kH-dgk">
|
||||||
<nil key="highlightedColor"/>
|
<rect key="frame" x="271" y="0.0" width="10.5" height="60"/>
|
||||||
</label>
|
<fontDescription key="fontDescription" type="system" weight="ultraLight" pointSize="50"/>
|
||||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="00" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SdB-cz-eTv">
|
<nil key="textColor"/>
|
||||||
<rect key="frame" x="274" y="0.0" width="58.5" height="60"/>
|
<nil key="highlightedColor"/>
|
||||||
<fontDescription key="fontDescription" type="system" weight="ultraLight" pointSize="50"/>
|
</label>
|
||||||
<nil key="textColor"/>
|
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="00" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SdB-cz-eTv">
|
||||||
<nil key="highlightedColor"/>
|
<rect key="frame" x="315.5" y="0.0" width="58.5" height="60"/>
|
||||||
</label>
|
<fontDescription key="fontDescription" type="system" weight="ultraLight" pointSize="50"/>
|
||||||
|
<nil key="textColor"/>
|
||||||
|
<nil key="highlightedColor"/>
|
||||||
|
</label>
|
||||||
|
</subviews>
|
||||||
|
</stackView>
|
||||||
|
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillProportionally" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="4j4-zF-LWF">
|
||||||
|
<rect key="frame" x="0.0" y="111" width="374" height="150"/>
|
||||||
|
<subviews>
|
||||||
|
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Jse-AL-cOs">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="374" height="30"/>
|
||||||
|
<color key="backgroundColor" name="AccentColor"/>
|
||||||
|
<state key="normal" title="Start">
|
||||||
|
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||||
|
</state>
|
||||||
|
</button>
|
||||||
|
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="O4A-eq-kEz">
|
||||||
|
<rect key="frame" x="0.0" y="40" width="374" height="30"/>
|
||||||
|
<color key="backgroundColor" name="AccentColor"/>
|
||||||
|
<state key="normal" title="Stop">
|
||||||
|
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||||
|
</state>
|
||||||
|
</button>
|
||||||
|
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Q7i-3U-NbI">
|
||||||
|
<rect key="frame" x="0.0" y="80" width="374" height="30"/>
|
||||||
|
<color key="backgroundColor" name="AccentColor"/>
|
||||||
|
<state key="normal" title="Reset">
|
||||||
|
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||||
|
</state>
|
||||||
|
</button>
|
||||||
|
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="794-VN-m96">
|
||||||
|
<rect key="frame" x="0.0" y="120" width="374" height="30"/>
|
||||||
|
<color key="backgroundColor" name="AccentColor"/>
|
||||||
|
<state key="normal" title="Lap">
|
||||||
|
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||||
|
</state>
|
||||||
|
</button>
|
||||||
|
</subviews>
|
||||||
|
</stackView>
|
||||||
|
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="O7B-Tj-vT0">
|
||||||
|
<rect key="frame" x="0.0" y="312" width="374" height="402"/>
|
||||||
|
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||||
|
<prototypes>
|
||||||
|
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="lapCell" id="2Je-Lw-ZAb">
|
||||||
|
<rect key="frame" x="0.0" y="28" width="374" height="43.5"/>
|
||||||
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
|
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="2Je-Lw-ZAb" id="HNi-3j-MIV">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="374" height="43.5"/>
|
||||||
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
|
</tableViewCellContentView>
|
||||||
|
</tableViewCell>
|
||||||
|
</prototypes>
|
||||||
|
<connections>
|
||||||
|
<outlet property="dataSource" destination="PYt-Lf-JNp" id="HRZ-MF-SqM"/>
|
||||||
|
<outlet property="delegate" destination="PYt-Lf-JNp" id="uCp-Op-uuX"/>
|
||||||
|
</connections>
|
||||||
|
</tableView>
|
||||||
</subviews>
|
</subviews>
|
||||||
</stackView>
|
</stackView>
|
||||||
<stackView opaque="NO" contentMode="scaleToFill" ambiguous="YES" axis="vertical" distribution="fillProportionally" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="4j4-zF-LWF">
|
|
||||||
<rect key="frame" x="41" y="241" width="332" height="150"/>
|
|
||||||
<subviews>
|
|
||||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Jse-AL-cOs">
|
|
||||||
<rect key="frame" x="0.0" y="0.0" width="332" height="30"/>
|
|
||||||
<color key="backgroundColor" name="AccentColor"/>
|
|
||||||
<state key="normal" title="Start">
|
|
||||||
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
|
||||||
</state>
|
|
||||||
</button>
|
|
||||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="O4A-eq-kEz">
|
|
||||||
<rect key="frame" x="0.0" y="40" width="332" height="30"/>
|
|
||||||
<color key="backgroundColor" name="AccentColor"/>
|
|
||||||
<state key="normal" title="Stop">
|
|
||||||
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
|
||||||
</state>
|
|
||||||
</button>
|
|
||||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Q7i-3U-NbI">
|
|
||||||
<rect key="frame" x="0.0" y="80" width="332" height="30"/>
|
|
||||||
<color key="backgroundColor" name="AccentColor"/>
|
|
||||||
<state key="normal" title="Reset">
|
|
||||||
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
|
||||||
</state>
|
|
||||||
</button>
|
|
||||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="794-VN-m96">
|
|
||||||
<rect key="frame" x="0.0" y="120" width="332" height="30"/>
|
|
||||||
<color key="backgroundColor" name="AccentColor"/>
|
|
||||||
<state key="normal" title="Lap">
|
|
||||||
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
|
||||||
</state>
|
|
||||||
</button>
|
|
||||||
</subviews>
|
|
||||||
</stackView>
|
|
||||||
<tableView clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="O7B-Tj-vT0">
|
|
||||||
<rect key="frame" x="20" y="423" width="374" height="367"/>
|
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
|
||||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
|
||||||
<prototypes>
|
|
||||||
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="lapCell" id="2Je-Lw-ZAb">
|
|
||||||
<rect key="frame" x="0.0" y="28" width="374" height="43.5"/>
|
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
|
||||||
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="2Je-Lw-ZAb" id="HNi-3j-MIV">
|
|
||||||
<rect key="frame" x="0.0" y="0.0" width="374" height="43.5"/>
|
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
|
||||||
</tableViewCellContentView>
|
|
||||||
</tableViewCell>
|
|
||||||
</prototypes>
|
|
||||||
</tableView>
|
|
||||||
</subviews>
|
</subviews>
|
||||||
<viewLayoutGuide key="safeArea" id="0Lp-Fy-R0s"/>
|
<viewLayoutGuide key="safeArea" id="0Lp-Fy-R0s"/>
|
||||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstItem="4j4-zF-LWF" firstAttribute="leading" secondItem="0Lp-Fy-R0s" secondAttribute="leading" constant="41" id="7P4-QZ-BE3"/>
|
<constraint firstItem="0Lp-Fy-R0s" firstAttribute="bottom" secondItem="Apb-MM-jue" secondAttribute="bottom" constant="10" id="4Rv-Vr-MaH"/>
|
||||||
<constraint firstItem="0Lp-Fy-R0s" firstAttribute="trailing" secondItem="4j4-zF-LWF" secondAttribute="trailing" constant="41" id="Mh6-3c-CXO"/>
|
<constraint firstItem="0Lp-Fy-R0s" firstAttribute="trailing" secondItem="Apb-MM-jue" secondAttribute="trailing" constant="20" id="ENw-M0-fRs"/>
|
||||||
|
<constraint firstItem="Apb-MM-jue" firstAttribute="top" secondItem="0Lp-Fy-R0s" secondAttribute="top" constant="45" id="RHG-Fs-SLZ"/>
|
||||||
|
<constraint firstItem="Apb-MM-jue" firstAttribute="leading" secondItem="0Lp-Fy-R0s" secondAttribute="leading" constant="20" id="l5v-Y0-GXP"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
</view>
|
</view>
|
||||||
<tabBarItem key="tabBarItem" title="Stopwatch" image="clock.arrow.circlepath" catalog="system" selectedImage="clock.arrow.circlepath" id="hNc-UI-vIQ"/>
|
<tabBarItem key="tabBarItem" title="Stopwatch" image="clock.arrow.circlepath" catalog="system" selectedImage="clock.arrow.circlepath" id="hNc-UI-vIQ"/>
|
||||||
@@ -379,6 +389,7 @@
|
|||||||
<outlet property="secondLabel" destination="SdB-cz-eTv" id="syA-P8-NFX"/>
|
<outlet property="secondLabel" destination="SdB-cz-eTv" id="syA-P8-NFX"/>
|
||||||
<outlet property="startButton" destination="Jse-AL-cOs" id="iq2-xE-Nir"/>
|
<outlet property="startButton" destination="Jse-AL-cOs" id="iq2-xE-Nir"/>
|
||||||
<outlet property="stopButton" destination="O4A-eq-kEz" id="dd7-v0-fqc"/>
|
<outlet property="stopButton" destination="O4A-eq-kEz" id="dd7-v0-fqc"/>
|
||||||
|
<outlet property="tableView" destination="O7B-Tj-vT0" id="kfu-vG-sgE"/>
|
||||||
</connections>
|
</connections>
|
||||||
</viewController>
|
</viewController>
|
||||||
<placeholder placeholderIdentifier="IBFirstResponder" id="ZlX-5W-Pjn" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
|
<placeholder placeholderIdentifier="IBFirstResponder" id="ZlX-5W-Pjn" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
|
||||||
|
|||||||
@@ -18,11 +18,31 @@ class StopwatchViewController: UIViewController {
|
|||||||
@IBOutlet weak var resetButton: UIButton!
|
@IBOutlet weak var resetButton: UIButton!
|
||||||
@IBOutlet weak var lapButton: UIButton!
|
@IBOutlet weak var lapButton: UIButton!
|
||||||
|
|
||||||
|
@IBOutlet weak var tableView: UITableView!
|
||||||
|
|
||||||
|
var hours = 0
|
||||||
|
var minutes = 0
|
||||||
|
var seconds = 0
|
||||||
|
|
||||||
|
var timer = Timer()
|
||||||
|
|
||||||
override func viewDidLoad() {
|
override func viewDidLoad() {
|
||||||
super.viewDidLoad()
|
super.viewDidLoad()
|
||||||
|
|
||||||
// Do any additional setup after loading the view.
|
// Do any additional setup after loading the view.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
extension StopwatchViewController: UITableViewDelegate, UITableViewDataSource {
|
||||||
|
|
||||||
|
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
|
||||||
|
return 100
|
||||||
|
}
|
||||||
|
|
||||||
|
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
|
||||||
|
let cell = tableView.dequeueReusableCell(withIdentifier: "lapCell", for: indexPath)
|
||||||
|
cell.textLabel?.text = "I am a lap cell \(indexPath.row + 1)"
|
||||||
|
return cell
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user