[+] Implement wvm picker data source

This commit is contained in:
Hykilpikonna
2021-01-08 18:34:57 -05:00
parent 2b75c23617
commit 8931d00dd9
3 changed files with 47 additions and 14 deletions
+4
View File
@@ -8,6 +8,7 @@
/* Begin PBXBuildFile section */
4F8A607125A9160400D88DC3 /* AddAlarmViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F8A607025A9160400D88DC3 /* AddAlarmViewController.swift */; };
4F8A607525A919E600D88DC3 /* Logic.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F8A607425A919E600D88DC3 /* Logic.swift */; };
4FF0683F25A5F18700304E6B /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FF0683E25A5F18700304E6B /* AppDelegate.swift */; };
4FF0684125A5F18700304E6B /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FF0684025A5F18700304E6B /* SceneDelegate.swift */; };
4FF0684325A5F18700304E6B /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FF0684225A5F18700304E6B /* ViewController.swift */; };
@@ -18,6 +19,7 @@
/* Begin PBXFileReference section */
4F8A607025A9160400D88DC3 /* AddAlarmViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddAlarmViewController.swift; sourceTree = "<group>"; };
4F8A607425A919E600D88DC3 /* Logic.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Logic.swift; sourceTree = "<group>"; };
4FF0683B25A5F18700304E6B /* ProjectClock.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ProjectClock.app; sourceTree = BUILT_PRODUCTS_DIR; };
4FF0683E25A5F18700304E6B /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
4FF0684025A5F18700304E6B /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; };
@@ -66,6 +68,7 @@
4FF0684725A5F18800304E6B /* Assets.xcassets */,
4FF0684925A5F18800304E6B /* LaunchScreen.storyboard */,
4FF0684C25A5F18800304E6B /* Info.plist */,
4F8A607425A919E600D88DC3 /* Logic.swift */,
);
path = ProjectClock;
sourceTree = "<group>";
@@ -141,6 +144,7 @@
buildActionMask = 2147483647;
files = (
4F8A607125A9160400D88DC3 /* AddAlarmViewController.swift in Sources */,
4F8A607525A919E600D88DC3 /* Logic.swift in Sources */,
4FF0684325A5F18700304E6B /* ViewController.swift in Sources */,
4FF0683F25A5F18700304E6B /* AppDelegate.swift in Sources */,
4FF0684125A5F18700304E6B /* SceneDelegate.swift in Sources */,
+30 -4
View File
@@ -9,20 +9,46 @@ import UIKit
class AddAlarmViewController: UIViewController
{
// UI: Make scroll view scrollable
@IBOutlet weak var scrollView: UIScrollView!
@IBOutlet weak var scrollViewInner: UIView!
@IBOutlet weak var timePicker: UIDatePicker!
@IBOutlet weak var wvmPicker: UIPickerView!
override func viewDidLayoutSubviews()
{
scrollView.addSubview(scrollViewInner)
scrollView.contentSize = scrollViewInner.frame.size
}
// Pickers
@IBOutlet weak var timePicker: UIDatePicker!
@IBOutlet weak var wvmPicker: UIPickerView!
override func viewDidLoad()
{
super.viewDidLoad()
}
}
class WVMDataSource: UIPickerView, UIPickerViewDelegate, UIPickerViewDataSource
{
required init?(coder: NSCoder)
{
super.init(coder: coder)
delegate = self
dataSource = self
}
func numberOfComponents(in pickerView: UIPickerView) -> Int
{
return 1
}
func pickerView(_ v: UIPickerView, numberOfRowsInComponent: Int) -> Int
{
return wvms.count
}
func pickerView(_ v: UIPickerView, titleForRow r: Int, forComponent: Int) -> String?
{
return wvms[r].name + " - " + wvms[r].desc
}
}
+13 -10
View File
@@ -352,6 +352,7 @@
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Alarm Ringtone" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="O5c-Ga-0xh">
<rect key="frame" x="0.0" y="228" width="374" height="20.5"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" systemColor="secondaryLabelColor"/>
<nil key="highlightedColor"/>
</label>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="bCI-jj-foN">
@@ -370,9 +371,10 @@
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Wakeup Verification Method" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="E4B-9M-iJd">
<rect key="frame" x="0.0" y="338.5" width="374" height="20.5"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" systemColor="secondaryLabelColor"/>
<nil key="highlightedColor"/>
</label>
<pickerView contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="oae-b2-SoF">
<pickerView contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="oae-b2-SoF" customClass="WVMDataSource" customModule="ProjectClock" customModuleProvider="target">
<rect key="frame" x="0.0" y="367" width="374" height="150"/>
<constraints>
<constraint firstAttribute="height" constant="150" id="C0G-jE-CPx"/>
@@ -381,36 +383,37 @@
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Others" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="eZX-HE-BKB">
<rect key="frame" x="0.0" y="525" width="374" height="20.5"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" systemColor="secondaryLabelColor"/>
<nil key="highlightedColor"/>
</label>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="e8v-cM-bxf">
<rect key="frame" x="0.0" y="553.5" width="374" height="72"/>
<rect key="frame" x="20" y="553.5" width="334" height="72"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" spacing="20" translatesAutoresizingMaskIntoConstraints="NO" id="iAX-G9-qxh">
<rect key="frame" x="0.0" y="0.0" width="374" height="31"/>
<rect key="frame" x="0.0" y="0.0" width="334" height="31"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Repeat on Weekdays" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="voA-xY-em1">
<rect key="frame" x="0.0" y="0.0" width="305" height="31"/>
<rect key="frame" x="0.0" y="0.0" width="265" height="31"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="5oN-BL-Xtu">
<rect key="frame" x="325" y="0.0" width="51" height="31"/>
<rect key="frame" x="285" y="0.0" width="51" height="31"/>
</switch>
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" spacing="20" translatesAutoresizingMaskIntoConstraints="NO" id="A0Y-z2-p4h">
<rect key="frame" x="0.0" y="41" width="374" height="31"/>
<rect key="frame" x="0.0" y="41" width="334" height="31"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Repeat on Weekends" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Gcr-Xt-GY4">
<rect key="frame" x="0.0" y="0.0" width="305" height="31"/>
<rect key="frame" x="0.0" y="0.0" width="265" height="31"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="WPM-Fh-sRB">
<rect key="frame" x="325" y="0.0" width="51" height="31"/>
<rect key="frame" x="285" y="0.0" width="51" height="31"/>
</switch>
</subviews>
</stackView>
@@ -425,7 +428,7 @@
<constraint firstItem="bCI-jj-foN" firstAttribute="leading" secondItem="O5c-Ga-0xh" secondAttribute="leading" id="43V-1B-vky"/>
<constraint firstItem="qSt-1V-2DQ" firstAttribute="top" secondItem="N7f-vi-SFU" secondAttribute="top" id="73E-1E-JcJ"/>
<constraint firstItem="e8v-cM-bxf" firstAttribute="top" secondItem="eZX-HE-BKB" secondAttribute="bottom" constant="8" symbolic="YES" id="7a1-Z3-Et3"/>
<constraint firstAttribute="trailing" secondItem="e8v-cM-bxf" secondAttribute="trailing" id="Ign-Qn-62c"/>
<constraint firstAttribute="trailing" secondItem="e8v-cM-bxf" secondAttribute="trailing" constant="20" id="Ign-Qn-62c"/>
<constraint firstAttribute="trailing" secondItem="eZX-HE-BKB" secondAttribute="trailing" id="N8p-Y4-j0g"/>
<constraint firstItem="E4B-9M-iJd" firstAttribute="top" secondItem="bCI-jj-foN" secondAttribute="bottom" constant="20" id="QFX-LQ-Nfv"/>
<constraint firstItem="O5c-Ga-0xh" firstAttribute="leading" secondItem="qSt-1V-2DQ" secondAttribute="leading" id="SUz-bu-pRK"/>
@@ -435,7 +438,7 @@
<constraint firstAttribute="trailing" secondItem="E4B-9M-iJd" secondAttribute="trailing" id="dVC-Jj-Xtg"/>
<constraint firstItem="O5c-Ga-0xh" firstAttribute="trailing" secondItem="bCI-jj-foN" secondAttribute="trailing" id="dhR-mZ-i9v"/>
<constraint firstItem="O5c-Ga-0xh" firstAttribute="top" secondItem="qSt-1V-2DQ" secondAttribute="bottom" constant="8" symbolic="YES" id="f5R-6J-Cxq"/>
<constraint firstItem="e8v-cM-bxf" firstAttribute="leading" secondItem="N7f-vi-SFU" secondAttribute="leading" id="hCw-vh-G6m"/>
<constraint firstItem="e8v-cM-bxf" firstAttribute="leading" secondItem="N7f-vi-SFU" secondAttribute="leading" constant="20" id="hCw-vh-G6m"/>
<constraint firstItem="oae-b2-SoF" firstAttribute="leading" secondItem="N7f-vi-SFU" secondAttribute="leading" id="kG1-Vr-2YU"/>
<constraint firstItem="eZX-HE-BKB" firstAttribute="leading" secondItem="N7f-vi-SFU" secondAttribute="leading" id="l5g-VX-CUi"/>
<constraint firstItem="E4B-9M-iJd" firstAttribute="leading" secondItem="N7f-vi-SFU" secondAttribute="leading" id="uav-jK-KIx"/>