Skip to content

Commit

Permalink
Merge pull request #6 from brunomunizaf/dev
Browse files Browse the repository at this point in the history
Expand example app to different screens
  • Loading branch information
brunomunizaf authored Oct 2, 2023
2 parents a97a610 + 0c4b097 commit cb0e817
Show file tree
Hide file tree
Showing 20 changed files with 720 additions and 527 deletions.
78 changes: 43 additions & 35 deletions Example/Example.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -9,38 +9,38 @@
/* Begin PBXBuildFile section */
321225C22AC33A5600DBE7E9 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 321225C12AC33A5600DBE7E9 /* AppDelegate.swift */; };
321225C42AC33A5600DBE7E9 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 321225C32AC33A5600DBE7E9 /* SceneDelegate.swift */; };
321225C62AC33A5600DBE7E9 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 321225C52AC33A5600DBE7E9 /* ViewController.swift */; };
321225C92AC33A5600DBE7E9 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 321225C72AC33A5600DBE7E9 /* Main.storyboard */; };
321225CB2AC33A5700DBE7E9 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 321225CA2AC33A5700DBE7E9 /* Assets.xcassets */; };
321225CE2AC33A5700DBE7E9 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 321225CC2AC33A5700DBE7E9 /* LaunchScreen.storyboard */; };
321F5CED2ACA11C800FB8AC5 /* FormCheckboxItem+Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 321F5CEC2ACA11C800FB8AC5 /* FormCheckboxItem+Configuration.swift */; };
321F5CEF2ACA3EC800FB8AC5 /* FormInputItem+Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 321F5CEE2ACA3EC800FB8AC5 /* FormInputItem+Configuration.swift */; };
321F5CF12ACA405900FB8AC5 /* FormTextItem+Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 321F5CF02ACA405900FB8AC5 /* FormTextItem+Configuration.swift */; };
321F5CF32ACA42BA00FB8AC5 /* FormPickerItem+Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 321F5CF22ACA42BA00FB8AC5 /* FormPickerItem+Configuration.swift */; };
321F5CF62ACA477A00FB8AC5 /* TermsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 321F5CF52ACA477A00FB8AC5 /* TermsViewController.swift */; };
321F5CF92ACA4ADC00FB8AC5 /* TermsScreenView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 321F5CF82ACA4ADC00FB8AC5 /* TermsScreenView.swift */; };
321F5CFB2ACA4D0A00FB8AC5 /* PersonalViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 321F5CFA2ACA4D0A00FB8AC5 /* PersonalViewController.swift */; };
321F5CFD2ACA4D3100FB8AC5 /* PersonalScreenView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 321F5CFC2ACA4D3100FB8AC5 /* PersonalScreenView.swift */; };
322788552AC35D0F00F16F06 /* ValidatableFormItems.swift in Sources */ = {isa = PBXBuildFile; fileRef = 322788542AC35D0F00F16F06 /* ValidatableFormItems.swift */; };
322B458E2AC33BEB001917DE /* Forms in Frameworks */ = {isa = PBXBuildFile; productRef = 322B458D2AC33BEB001917DE /* Forms */; };
32CFCA622AC367D900539B60 /* ScreenView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32CFCA612AC367D900539B60 /* ScreenView.swift */; };
32F960572ACA060E004B3265 /* FormButtonItem+Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32F960562ACA060E004B3265 /* FormButtonItem+Configuration.swift */; };
32F9605A2ACA0D32004B3265 /* FormSwitchItem+Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32F960592ACA0D32004B3265 /* FormSwitchItem+Configuration.swift */; };
32EF92582ACA5934002278A7 /* PermissionsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32EF92572ACA5934002278A7 /* PermissionsViewController.swift */; };
32EF925A2ACA595C002278A7 /* PermissionsScreenView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32EF92592ACA595C002278A7 /* PermissionsScreenView.swift */; };
32EF925C2ACA5FD7002278A7 /* FinishedViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32EF925B2ACA5FD7002278A7 /* FinishedViewController.swift */; };
32EF925E2ACA6006002278A7 /* FinishedScreenView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32EF925D2ACA6006002278A7 /* FinishedScreenView.swift */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
321225BE2AC33A5600DBE7E9 /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; };
321225C12AC33A5600DBE7E9 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
321225C32AC33A5600DBE7E9 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; };
321225C52AC33A5600DBE7E9 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
321225C82AC33A5600DBE7E9 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
321225CA2AC33A5700DBE7E9 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
321225CD2AC33A5700DBE7E9 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
321225CF2AC33A5700DBE7E9 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
321F5CEC2ACA11C800FB8AC5 /* FormCheckboxItem+Configuration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FormCheckboxItem+Configuration.swift"; sourceTree = "<group>"; };
321F5CEE2ACA3EC800FB8AC5 /* FormInputItem+Configuration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FormInputItem+Configuration.swift"; sourceTree = "<group>"; };
321F5CF02ACA405900FB8AC5 /* FormTextItem+Configuration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FormTextItem+Configuration.swift"; sourceTree = "<group>"; };
321F5CF22ACA42BA00FB8AC5 /* FormPickerItem+Configuration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FormPickerItem+Configuration.swift"; sourceTree = "<group>"; };
321F5CF52ACA477A00FB8AC5 /* TermsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TermsViewController.swift; sourceTree = "<group>"; };
321F5CF82ACA4ADC00FB8AC5 /* TermsScreenView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TermsScreenView.swift; sourceTree = "<group>"; };
321F5CFA2ACA4D0A00FB8AC5 /* PersonalViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PersonalViewController.swift; sourceTree = "<group>"; };
321F5CFC2ACA4D3100FB8AC5 /* PersonalScreenView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PersonalScreenView.swift; sourceTree = "<group>"; };
322788542AC35D0F00F16F06 /* ValidatableFormItems.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ValidatableFormItems.swift; sourceTree = "<group>"; };
32CFCA612AC367D900539B60 /* ScreenView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScreenView.swift; sourceTree = "<group>"; };
32F960562ACA060E004B3265 /* FormButtonItem+Configuration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FormButtonItem+Configuration.swift"; sourceTree = "<group>"; };
32F960592ACA0D32004B3265 /* FormSwitchItem+Configuration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FormSwitchItem+Configuration.swift"; sourceTree = "<group>"; };
32EF92572ACA5934002278A7 /* PermissionsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PermissionsViewController.swift; sourceTree = "<group>"; };
32EF92592ACA595C002278A7 /* PermissionsScreenView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PermissionsScreenView.swift; sourceTree = "<group>"; };
32EF925B2ACA5FD7002278A7 /* FinishedViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinishedViewController.swift; sourceTree = "<group>"; };
32EF925D2ACA6006002278A7 /* FinishedScreenView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FinishedScreenView.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
Expand Down Expand Up @@ -74,31 +74,39 @@
321225C02AC33A5600DBE7E9 /* Example */ = {
isa = PBXGroup;
children = (
32F960582ACA06A4004B3265 /* Extensions */,
321F5CF72ACA4AD200FB8AC5 /* Views */,
321F5CF42ACA471500FB8AC5 /* Controllers */,
321225C12AC33A5600DBE7E9 /* AppDelegate.swift */,
321225C32AC33A5600DBE7E9 /* SceneDelegate.swift */,
321225C52AC33A5600DBE7E9 /* ViewController.swift */,
321225C72AC33A5600DBE7E9 /* Main.storyboard */,
321225CA2AC33A5700DBE7E9 /* Assets.xcassets */,
321225CC2AC33A5700DBE7E9 /* LaunchScreen.storyboard */,
321225CF2AC33A5700DBE7E9 /* Info.plist */,
322788542AC35D0F00F16F06 /* ValidatableFormItems.swift */,
32CFCA612AC367D900539B60 /* ScreenView.swift */,
);
path = Example;
sourceTree = "<group>";
};
32F960582ACA06A4004B3265 /* Extensions */ = {
321F5CF42ACA471500FB8AC5 /* Controllers */ = {
isa = PBXGroup;
children = (
32F960562ACA060E004B3265 /* FormButtonItem+Configuration.swift */,
32F960592ACA0D32004B3265 /* FormSwitchItem+Configuration.swift */,
321F5CEC2ACA11C800FB8AC5 /* FormCheckboxItem+Configuration.swift */,
321F5CEE2ACA3EC800FB8AC5 /* FormInputItem+Configuration.swift */,
321F5CF02ACA405900FB8AC5 /* FormTextItem+Configuration.swift */,
321F5CF22ACA42BA00FB8AC5 /* FormPickerItem+Configuration.swift */,
321F5CF52ACA477A00FB8AC5 /* TermsViewController.swift */,
321F5CFA2ACA4D0A00FB8AC5 /* PersonalViewController.swift */,
32EF92572ACA5934002278A7 /* PermissionsViewController.swift */,
32EF925B2ACA5FD7002278A7 /* FinishedViewController.swift */,
);
path = Extensions;
path = Controllers;
sourceTree = "<group>";
};
321F5CF72ACA4AD200FB8AC5 /* Views */ = {
isa = PBXGroup;
children = (
321F5CF82ACA4ADC00FB8AC5 /* TermsScreenView.swift */,
321F5CFC2ACA4D3100FB8AC5 /* PersonalScreenView.swift */,
32EF92592ACA595C002278A7 /* PermissionsScreenView.swift */,
32EF925D2ACA6006002278A7 /* FinishedScreenView.swift */,
);
path = Views;
sourceTree = "<group>";
};
/* End PBXGroup section */
Expand Down Expand Up @@ -178,16 +186,16 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
321F5CF12ACA405900FB8AC5 /* FormTextItem+Configuration.swift in Sources */,
321225C62AC33A5600DBE7E9 /* ViewController.swift in Sources */,
321F5CF32ACA42BA00FB8AC5 /* FormPickerItem+Configuration.swift in Sources */,
32EF925C2ACA5FD7002278A7 /* FinishedViewController.swift in Sources */,
321225C22AC33A5600DBE7E9 /* AppDelegate.swift in Sources */,
32F9605A2ACA0D32004B3265 /* FormSwitchItem+Configuration.swift in Sources */,
32CFCA622AC367D900539B60 /* ScreenView.swift in Sources */,
321F5CEF2ACA3EC800FB8AC5 /* FormInputItem+Configuration.swift in Sources */,
321F5CED2ACA11C800FB8AC5 /* FormCheckboxItem+Configuration.swift in Sources */,
32F960572ACA060E004B3265 /* FormButtonItem+Configuration.swift in Sources */,
32EF92582ACA5934002278A7 /* PermissionsViewController.swift in Sources */,
321F5CFD2ACA4D3100FB8AC5 /* PersonalScreenView.swift in Sources */,
321F5CFB2ACA4D0A00FB8AC5 /* PersonalViewController.swift in Sources */,
32EF925A2ACA595C002278A7 /* PermissionsScreenView.swift in Sources */,
321F5CF92ACA4ADC00FB8AC5 /* TermsScreenView.swift in Sources */,
322788552AC35D0F00F16F06 /* ValidatableFormItems.swift in Sources */,
321F5CF62ACA477A00FB8AC5 /* TermsViewController.swift in Sources */,
32EF925E2ACA6006002278A7 /* FinishedScreenView.swift in Sources */,
321225C42AC33A5600DBE7E9 /* SceneDelegate.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
Expand Down
80 changes: 77 additions & 3 deletions Example/Example/Base.lproj/Main.storyboard
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="22154" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="BYZ-38-t0r">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="22154" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="uQz-af-0nr">
<device id="retina6_12" orientation="portrait" appearance="light"/>
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22130"/>
Expand All @@ -8,21 +8,95 @@
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--View Controller-->
<!--Personal View Controller-->
<scene sceneID="tne-QT-ifu">
<objects>
<viewController id="BYZ-38-t0r" customClass="ViewController" customModule="Example" customModuleProvider="target" sceneMemberID="viewController">
<viewController id="BYZ-38-t0r" customClass="PersonalViewController" customModule="Example" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
</view>
<navigationItem key="navigationItem" id="8BS-Th-SCZ"/>
<connections>
<segue destination="3fg-kN-yXv" kind="show" identifier="segueToPermissions" id="zug-4d-V4o"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="139" y="19"/>
</scene>
<!--Permissions View Controller-->
<scene sceneID="4pM-Mg-6KF">
<objects>
<viewController id="3fg-kN-yXv" customClass="PermissionsViewController" customModule="Example" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="UhF-9a-Tjj">
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<viewLayoutGuide key="safeArea" id="kW0-Ko-fUd"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
</view>
<navigationItem key="navigationItem" id="pLl-ut-lDF"/>
<connections>
<segue destination="RJl-dp-3C6" kind="show" identifier="segueToTerms" id="vco-el-Qjn"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="rbv-ew-pu4" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="967" y="18"/>
</scene>
<!--Terms View Controller-->
<scene sceneID="OKd-kp-O0P">
<objects>
<viewController id="RJl-dp-3C6" customClass="TermsViewController" customModule="Example" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="VY6-j9-sds">
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<viewLayoutGuide key="safeArea" id="kCr-TQ-KY2"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
</view>
<navigationItem key="navigationItem" id="FPH-9i-Rz5"/>
<connections>
<segue destination="ohb-iC-QGU" kind="show" identifier="segueToFinished" id="y1Z-MO-K1Z"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="gDU-Lz-NGP" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1752" y="18"/>
</scene>
<!--Finished View Controller-->
<scene sceneID="CE4-IE-V0K">
<objects>
<viewController id="ohb-iC-QGU" customClass="FinishedViewController" customModule="Example" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="eYt-2T-JII">
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<viewLayoutGuide key="safeArea" id="fUL-JO-G2f"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
</view>
<navigationItem key="navigationItem" id="AYz-D8-4mJ"/>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="VJP-br-f6Z" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="2587" y="18"/>
</scene>
<!--Navigation Controller-->
<scene sceneID="Zk3-8b-5Jw">
<objects>
<navigationController id="uQz-af-0nr" sceneMemberID="viewController">
<navigationBar key="navigationBar" contentMode="scaleToFill" id="95K-v9-YrW">
<rect key="frame" x="0.0" y="59" width="393" height="44"/>
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<connections>
<segue destination="BYZ-38-t0r" kind="relationship" relationship="rootViewController" id="PWW-sp-Ol5"/>
</connections>
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="m61-lI-xBC" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-663" y="18"/>
</scene>
</scenes>
<resources>
<systemColor name="systemBackgroundColor">
Expand Down
16 changes: 16 additions & 0 deletions Example/Example/Controllers/FinishedViewController.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import UIKit

/// `FinishedViewController` is a `UIViewController` subclass that manages the
/// interactions and lifecycle events of the `FinishedScreenView` of the app.
final class FinishedViewController: UIViewController {
// MARK: - Properties

/// A lazy initialized `FinishedScreenView` object
lazy var screenView = FinishedScreenView()

// MARK: - Lifecycle

override func loadView() {
view = screenView
}
}
Loading

0 comments on commit cb0e817

Please sign in to comment.