This commit is contained in:
2024-05-02 19:30:09 +05:30
parent 392e0d0aeb
commit f55dda0883
17 changed files with 569 additions and 86 deletions

View File

@@ -7,7 +7,7 @@ target 'WOKA' do
pod 'IQKeyboardManagerSwift', '~> 7.0.2'
pod 'lottie-ios'
# Bottom line is for removing IPHONEOS_DEPLOYMENT_TARGET
post_install do |installer|
installer.generated_projects.each do |project|

View File

@@ -25,6 +25,14 @@
52663FFB2BDFB1700001D8CE /* TextFieldShadow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52663FFA2BDFB1700001D8CE /* TextFieldShadow.swift */; };
5272FCE32BDFDB05000ECB1D /* UserDetailsRegisterVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5272FCE22BDFDB05000ECB1D /* UserDetailsRegisterVC.swift */; };
5272FCE52BDFDC8C000ECB1D /* UserDetailsRegisterVM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5272FCE42BDFDC8C000ECB1D /* UserDetailsRegisterVM.swift */; };
52C6E01B2BE383C000E22D59 /* YourIntrestCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52C6E0192BE383C000E22D59 /* YourIntrestCell.swift */; };
52C6E01C2BE383C000E22D59 /* YourIntrestCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 52C6E01A2BE383C000E22D59 /* YourIntrestCell.xib */; };
52C6E01E2BE3847F00E22D59 /* BorderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52C6E01D2BE3847F00E22D59 /* BorderView.swift */; };
52C6E0212BE3ADE300E22D59 /* GenderEnum.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52C6E0202BE3ADE300E22D59 /* GenderEnum.swift */; };
52C6E0232BE3B3E300E22D59 /* SelectAvatarVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52C6E0222BE3B3E300E22D59 /* SelectAvatarVC.swift */; };
52C6E0262BE3B46A00E22D59 /* SelectAvatarCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 52C6E0252BE3B46A00E22D59 /* SelectAvatarCell.xib */; };
52C6E0272BE3B46A00E22D59 /* SelectAvatarCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52C6E0242BE3B46A00E22D59 /* SelectAvatarCell.swift */; };
52C6E0292BE3B52500E22D59 /* SelectAvatarVM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52C6E0282BE3B52500E22D59 /* SelectAvatarVM.swift */; };
52C8B0542BDA4BD1003B51D0 /* RoundCorner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52C8B0532BDA4BD1003B51D0 /* RoundCorner.swift */; };
52C8B0572BDA57DB003B51D0 /* Constant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52C8B0562BDA57DB003B51D0 /* Constant.swift */; };
52C8B0592BDA57FA003B51D0 /* StaticFilesString.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52C8B0582BDA57FA003B51D0 /* StaticFilesString.swift */; };
@@ -111,6 +119,14 @@
52663FFA2BDFB1700001D8CE /* TextFieldShadow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextFieldShadow.swift; sourceTree = "<group>"; };
5272FCE22BDFDB05000ECB1D /* UserDetailsRegisterVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserDetailsRegisterVC.swift; sourceTree = "<group>"; };
5272FCE42BDFDC8C000ECB1D /* UserDetailsRegisterVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserDetailsRegisterVM.swift; sourceTree = "<group>"; };
52C6E0192BE383C000E22D59 /* YourIntrestCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YourIntrestCell.swift; sourceTree = "<group>"; };
52C6E01A2BE383C000E22D59 /* YourIntrestCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = YourIntrestCell.xib; sourceTree = "<group>"; };
52C6E01D2BE3847F00E22D59 /* BorderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BorderView.swift; sourceTree = "<group>"; };
52C6E0202BE3ADE300E22D59 /* GenderEnum.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GenderEnum.swift; sourceTree = "<group>"; };
52C6E0222BE3B3E300E22D59 /* SelectAvatarVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectAvatarVC.swift; sourceTree = "<group>"; };
52C6E0242BE3B46A00E22D59 /* SelectAvatarCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectAvatarCell.swift; sourceTree = "<group>"; };
52C6E0252BE3B46A00E22D59 /* SelectAvatarCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = SelectAvatarCell.xib; sourceTree = "<group>"; };
52C6E0282BE3B52500E22D59 /* SelectAvatarVM.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectAvatarVM.swift; sourceTree = "<group>"; };
52C8B0532BDA4BD1003B51D0 /* RoundCorner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoundCorner.swift; sourceTree = "<group>"; };
52C8B0562BDA57DB003B51D0 /* Constant.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constant.swift; sourceTree = "<group>"; };
52C8B0582BDA57FA003B51D0 /* StaticFilesString.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StaticFilesString.swift; sourceTree = "<group>"; };
@@ -239,6 +255,7 @@
523ED25C2BDA2BC700CFED02 /* WOKA */ = {
isa = PBXGroup;
children = (
52C6E01F2BE3ADD800E22D59 /* Default Enum */,
9C56E83E2BDBE4FB00E4CA14 /* Authentication */,
9C27E1612BDB6F0F00EC1DA9 /* Main */,
9C27E15E2BDB6E4F00EC1DA9 /* Localized Module */,
@@ -342,6 +359,14 @@
path = Fonts;
sourceTree = "<group>";
};
52C6E01F2BE3ADD800E22D59 /* Default Enum */ = {
isa = PBXGroup;
children = (
52C6E0202BE3ADE300E22D59 /* GenderEnum.swift */,
);
path = "Default Enum";
sourceTree = "<group>";
};
52C8B0512BDA4B51003B51D0 /* Helpers */ = {
isa = PBXGroup;
children = (
@@ -352,6 +377,7 @@
52663FF62BDFACF60001D8CE /* ShadowView.swift */,
5257B2642BDFB6F50086D79B /* CheckPhoneHomeBtnOrNotch.swift */,
52D774F02BDFC53B001D87DE /* StringSubScript.swift */,
52C6E01D2BE3847F00E22D59 /* BorderView.swift */,
);
path = Helpers;
sourceTree = "<group>";
@@ -442,6 +468,10 @@
9C56E8402BDBE50600E4CA14 /* View */ = {
isa = PBXGroup;
children = (
52C6E0192BE383C000E22D59 /* YourIntrestCell.swift */,
52C6E01A2BE383C000E22D59 /* YourIntrestCell.xib */,
52C6E0242BE3B46A00E22D59 /* SelectAvatarCell.swift */,
52C6E0252BE3B46A00E22D59 /* SelectAvatarCell.xib */,
);
path = View;
sourceTree = "<group>";
@@ -453,6 +483,7 @@
52D774EC2BDFC13F001D87DE /* OTPVM.swift */,
5272FCE42BDFDC8C000ECB1D /* UserDetailsRegisterVM.swift */,
52CA28FB2BE11A0400708B49 /* UserIntrestVM.swift */,
52C6E0282BE3B52500E22D59 /* SelectAvatarVM.swift */,
);
path = ViewModel;
sourceTree = "<group>";
@@ -464,6 +495,7 @@
52D774EA2BDFC0BF001D87DE /* OTPVC.swift */,
5272FCE22BDFDB05000ECB1D /* UserDetailsRegisterVC.swift */,
52CA28F92BE119F500708B49 /* UserIntrestVC.swift */,
52C6E0222BE3B3E300E22D59 /* SelectAvatarVC.swift */,
);
path = Controller;
sourceTree = "<group>";
@@ -600,7 +632,9 @@
523ED26A2BDA2BC900CFED02 /* Base in Resources */,
52C8B05B2BDA5924003B51D0 /* WokaSplashSound.m4a in Resources */,
523ED2652BDA2BC700CFED02 /* Base in Resources */,
52C6E01C2BE383C000E22D59 /* YourIntrestCell.xib in Resources */,
9C56E8392BDBC3F000E4CA14 /* Exo2-Regular.ttf in Resources */,
52C6E0262BE3B46A00E22D59 /* SelectAvatarCell.xib in Resources */,
52C8B0712BDA7512003B51D0 /* PassingCloud.json in Resources */,
9C56E8362BDBC3F000E4CA14 /* Exo2-SemiBold.ttf in Resources */,
);
@@ -672,6 +706,7 @@
52D774EF2BDFC50D001D87DE /* StringValidations.swift in Sources */,
5272FCE32BDFDB05000ECB1D /* UserDetailsRegisterVC.swift in Sources */,
5202AAFE2BDF90590043B7BD /* TextFieldImage.swift in Sources */,
52C6E0232BE3B3E300E22D59 /* SelectAvatarVC.swift in Sources */,
52C8B06C2BDA6E87003B51D0 /* LocalizedString.swift in Sources */,
52CC38C32BDF812F00B74C3E /* LocalisedElements.swift in Sources */,
52CA28FC2BE11A0400708B49 /* UserIntrestVM.swift in Sources */,
@@ -685,8 +720,10 @@
52D774EB2BDFC0BF001D87DE /* OTPVC.swift in Sources */,
9C27E16F2BDB866500EC1DA9 /* CellIdentifier.swift in Sources */,
9C27E1632BDB6F1900EC1DA9 /* AuthFunc.swift in Sources */,
52C6E0292BE3B52500E22D59 /* SelectAvatarVM.swift in Sources */,
52C8B0592BDA57FA003B51D0 /* StaticFilesString.swift in Sources */,
52C8B05D2BDA5AA7003B51D0 /* ApplyGradrient.swift in Sources */,
52C6E01B2BE383C000E22D59 /* YourIntrestCell.swift in Sources */,
523ED25E2BDA2BC700CFED02 /* AppDelegate.swift in Sources */,
52D774ED2BDFC13F001D87DE /* OTPVM.swift in Sources */,
9C56E83B2BDBC6E600E4CA14 /* SelectAgeVM.swift in Sources */,
@@ -696,6 +733,7 @@
52D774E92BDFBDA4001D87DE /* AuthenticationStringConstant.swift in Sources */,
9C27E1672BDB706700EC1DA9 /* StoryBoard.swift in Sources */,
52C8B0692BDA6E1E003B51D0 /* LocalizedEnum.swift in Sources */,
52C6E01E2BE3847F00E22D59 /* BorderView.swift in Sources */,
52C8B0742BDA7626003B51D0 /* OnBoardVC.swift in Sources */,
9C56E8482BDBEFAB00E4CA14 /* AssetColor.swift in Sources */,
5272FCE52BDFDC8C000ECB1D /* UserDetailsRegisterVM.swift in Sources */,
@@ -711,6 +749,8 @@
9C27E16D2BDB852F00EC1DA9 /* GVar.swift in Sources */,
9C56E8462BDBEE6400E4CA14 /* EmailVC.swift in Sources */,
52663FFB2BDFB1700001D8CE /* TextFieldShadow.swift in Sources */,
52C6E0212BE3ADE300E22D59 /* GenderEnum.swift in Sources */,
52C6E0272BE3B46A00E22D59 /* SelectAvatarCell.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};

View File

@@ -504,8 +504,8 @@ Sent to Your Parents Email</string>
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="tyX-OO-8o2">
<rect key="frame" x="0.0" y="48" width="414" height="814"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="30" translatesAutoresizingMaskIntoConstraints="NO" id="VdK-J5-rgR">
<rect key="frame" x="0.0" y="30" width="414" height="556"/>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="35" translatesAutoresizingMaskIntoConstraints="NO" id="VdK-J5-rgR">
<rect key="frame" x="0.0" y="30" width="414" height="786"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="03q-h4-3f0">
<rect key="frame" x="10" y="0.0" width="394" height="68"/>
@@ -532,13 +532,13 @@ Sent to Your Parents Email</string>
</subviews>
</stackView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Can we know a bit more about you?" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SDb-xl-JQx">
<rect key="frame" x="10" y="98" width="394" height="26.5"/>
<rect key="frame" x="10" y="103" width="394" height="26.5"/>
<fontDescription key="fontDescription" name="Exo2-Regular" family="Exo 2" pointSize="22"/>
<color key="textColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="16" translatesAutoresizingMaskIntoConstraints="NO" id="3iR-vv-IUk">
<rect key="frame" x="10" y="154.5" width="394" height="138"/>
<rect key="frame" x="10" y="164.5" width="394" height="138"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="YOUR GENDER" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="GuV-CV-Huq">
<rect key="frame" x="0.0" y="0.0" width="394" height="22"/>
@@ -546,20 +546,20 @@ Sent to Your Parents Email</string>
<color key="textColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<stackView opaque="NO" contentMode="scaleToFill" distribution="fillEqually" spacing="50" translatesAutoresizingMaskIntoConstraints="NO" id="UBH-i2-Wx5">
<stackView opaque="NO" contentMode="scaleToFill" distribution="fillEqually" spacing="60" translatesAutoresizingMaskIntoConstraints="NO" id="UBH-i2-Wx5">
<rect key="frame" x="0.0" y="38" width="394" height="100"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="vzD-bQ-1cP">
<rect key="frame" x="30" y="0.0" width="142" height="100"/>
<rect key="frame" x="30" y="0.0" width="137" height="100"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="cMG-wb-u14">
<rect key="frame" x="46.5" y="10" width="49.5" height="72"/>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="cMG-wb-u14">
<rect key="frame" x="44" y="10" width="49.5" height="77"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Boy" translatesAutoresizingMaskIntoConstraints="NO" id="tci-wS-ZxN">
<rect key="frame" x="0.0" y="0.0" width="49.5" height="50"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="BOY" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="nnY-MI-513">
<rect key="frame" x="0.0" y="50" width="49.5" height="22"/>
<rect key="frame" x="0.0" y="55" width="49.5" height="22"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="18"/>
<color key="textColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
@@ -574,16 +574,16 @@ Sent to Your Parents Email</string>
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="6Ik-wa-umx">
<rect key="frame" x="222" y="0.0" width="142" height="100"/>
<rect key="frame" x="227" y="0.0" width="137" height="100"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="yXQ-aC-gR1">
<rect key="frame" x="47" y="10" width="48.5" height="72"/>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="yXQ-aC-gR1">
<rect key="frame" x="44.5" y="10" width="48.5" height="77"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Girl" translatesAutoresizingMaskIntoConstraints="NO" id="Fqa-vi-auf">
<rect key="frame" x="0.0" y="0.0" width="48.5" height="50"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="GIRL" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="K9G-cT-fBK">
<rect key="frame" x="0.0" y="50" width="48.5" height="22"/>
<rect key="frame" x="0.0" y="55" width="48.5" height="22"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="18"/>
<color key="textColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
@@ -605,8 +605,8 @@ Sent to Your Parents Email</string>
</stackView>
</subviews>
</stackView>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="713-kI-2TZ">
<rect key="frame" x="10" y="322.5" width="394" height="132"/>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="713-kI-2TZ">
<rect key="frame" x="10" y="337.5" width="394" height="137"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="WHEN IS YOUR BIRTHDAY?" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="J83-KL-Pex">
<rect key="frame" x="0.0" y="0.0" width="394" height="22"/>
@@ -615,21 +615,38 @@ Sent to Your Parents Email</string>
<nil key="highlightedColor"/>
</label>
<datePicker contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" datePickerMode="date" style="wheels" translatesAutoresizingMaskIntoConstraints="NO" id="QrL-xJ-2yI">
<rect key="frame" x="0.0" y="32" width="394" height="100"/>
<rect key="frame" x="0.0" y="37" width="394" height="100"/>
<constraints>
<constraint firstAttribute="height" constant="100" id="uDd-Ik-9bt"/>
</constraints>
</datePicker>
</subviews>
</stackView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="WHEN ARE YOUR INTRESTS?" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="agP-Pb-cQD">
<rect key="frame" x="10" y="484.5" width="394" height="22"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="18"/>
<color key="textColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="20" translatesAutoresizingMaskIntoConstraints="NO" id="8nq-Pj-Asi">
<rect key="frame" x="10" y="509.5" width="394" height="222"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="WHEN ARE YOUR INTRESTS?" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="agP-Pb-cQD">
<rect key="frame" x="0.0" y="0.0" width="394" height="22"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="18"/>
<color key="textColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" scrollEnabled="NO" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="s7g-G0-W2v">
<rect key="frame" x="0.0" y="42" width="394" height="180"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="180" id="auZ-NR-TCk"/>
</constraints>
<collectionViewLayout key="collectionViewLayout" id="VDo-KP-FU1" customClass="CollectionViewCenteredFlowLayout" customModule="CollectionViewCenteredFlowLayout"/>
<cells/>
</collectionView>
</subviews>
</stackView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Select as many as you want" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="LYR-yD-QKs">
<rect key="frame" x="10" y="536.5" width="394" height="19.5"/>
<rect key="frame" x="10" y="766.5" width="394" height="19.5"/>
<constraints>
<constraint firstAttribute="height" constant="19.5" id="yPv-4R-Lm1"/>
</constraints>
<fontDescription key="fontDescription" name="Exo2-Regular" family="Exo 2" pointSize="16"/>
<color key="textColor" red="0.035294117649999998" green="0.0" blue="0.36470588240000001" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
@@ -639,7 +656,7 @@ Sent to Your Parents Email</string>
</stackView>
</subviews>
<constraints>
<constraint firstItem="OHA-L6-olC" firstAttribute="bottom" secondItem="VdK-J5-rgR" secondAttribute="bottom" id="A4j-Yl-reT"/>
<constraint firstAttribute="bottom" secondItem="VdK-J5-rgR" secondAttribute="bottom" id="FK2-L8-8LK"/>
<constraint firstItem="VdK-J5-rgR" firstAttribute="leading" secondItem="OHA-L6-olC" secondAttribute="leading" id="JMQ-LC-HYL"/>
<constraint firstItem="VdK-J5-rgR" firstAttribute="top" secondItem="tyX-OO-8o2" secondAttribute="top" constant="30" id="WQq-91-b9o"/>
<constraint firstItem="VdK-J5-rgR" firstAttribute="width" secondItem="OHA-L6-olC" secondAttribute="width" id="wXz-8T-OB4"/>
@@ -661,6 +678,7 @@ Sent to Your Parents Email</string>
</state>
<connections>
<action selector="nextBtnTapped:" destination="Yeg-Vy-0ZA" eventType="touchUpInside" id="aL8-ue-HWX"/>
<action selector="nextBtnTapped:" destination="cJN-jE-dFM" eventType="touchUpInside" id="adJ-tv-Zhn"/>
</connections>
</button>
</subviews>
@@ -683,14 +701,81 @@ Sent to Your Parents Email</string>
<navigationItem key="navigationItem" id="gHq-kx-Fzi"/>
<connections>
<outlet property="boyView" destination="vzD-bQ-1cP" id="Sq8-2n-ZeA"/>
<outlet property="collectionView" destination="s7g-G0-W2v" id="BEQ-be-g2O"/>
<outlet property="contentHeight" destination="auZ-NR-TCk" id="cCY-Sh-DxC"/>
<outlet property="datePicker" destination="QrL-xJ-2yI" id="KD6-A4-7fS"/>
<outlet property="girlView" destination="6Ik-wa-umx" id="JOO-44-pWF"/>
<outlet property="nextBtn" destination="hAv-PV-elG" id="9sA-zr-2KJ"/>
<outlet property="scrollView" destination="tyX-OO-8o2" id="1Uh-2K-TFb"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="1l2-jy-JLN" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1576.8115942028987" y="-27.455357142857142"/>
</scene>
<!--Select AvatarVC-->
<scene sceneID="U72-TB-PMu">
<objects>
<viewController storyboardIdentifier="SelectAvatarVC" id="0J9-HF-tOK" customClass="SelectAvatarVC" customModule="WOKA" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="Owo-gU-Byc">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="BackgroundSplash" translatesAutoresizingMaskIntoConstraints="NO" id="fcq-fM-YqF">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
</imageView>
<collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="1uh-3v-vfA">
<rect key="frame" x="35" y="78" width="344" height="724"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="10" minimumInteritemSpacing="10" id="lu2-FF-gHy">
<size key="itemSize" width="128" height="128"/>
<size key="headerReferenceSize" width="0.0" height="0.0"/>
<size key="footerReferenceSize" width="0.0" height="0.0"/>
<inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/>
</collectionViewFlowLayout>
<cells/>
</collectionView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="1hT-hu-cP2" customClass="LocalisedElementsButton" customModule="WOKA" customModuleProvider="target">
<rect key="frame" x="30" y="812" width="354" height="50"/>
<constraints>
<constraint firstAttribute="height" constant="50" id="dgi-gc-q54"/>
</constraints>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="18"/>
<color key="tintColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
<state key="normal" title="Next">
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<connections>
<action selector="nextBtnTapped:" destination="Yeg-Vy-0ZA" eventType="touchUpInside" id="8WI-0P-0bu"/>
</connections>
</button>
</subviews>
<viewLayoutGuide key="safeArea" id="VQ2-aQ-6gD"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<constraints>
<constraint firstItem="1hT-hu-cP2" firstAttribute="leading" secondItem="VQ2-aQ-6gD" secondAttribute="leading" constant="30" id="Byt-6U-gGP"/>
<constraint firstAttribute="bottom" secondItem="fcq-fM-YqF" secondAttribute="bottom" id="DZi-TR-hoK"/>
<constraint firstItem="1uh-3v-vfA" firstAttribute="leading" secondItem="VQ2-aQ-6gD" secondAttribute="leading" constant="35" id="TMR-UH-fSR"/>
<constraint firstItem="VQ2-aQ-6gD" firstAttribute="trailing" secondItem="1hT-hu-cP2" secondAttribute="trailing" constant="30" id="X07-xM-Csn"/>
<constraint firstItem="VQ2-aQ-6gD" firstAttribute="trailing" secondItem="fcq-fM-YqF" secondAttribute="trailing" id="eLT-RJ-cfJ"/>
<constraint firstItem="VQ2-aQ-6gD" firstAttribute="trailing" secondItem="1uh-3v-vfA" secondAttribute="trailing" constant="35" id="ewm-B5-T25"/>
<constraint firstItem="VQ2-aQ-6gD" firstAttribute="bottom" secondItem="1hT-hu-cP2" secondAttribute="bottom" id="hf4-uc-Rde"/>
<constraint firstItem="fcq-fM-YqF" firstAttribute="top" secondItem="Owo-gU-Byc" secondAttribute="top" id="rdG-xg-jLE"/>
<constraint firstItem="1hT-hu-cP2" firstAttribute="top" secondItem="1uh-3v-vfA" secondAttribute="bottom" constant="10" id="s3C-gx-kQF"/>
<constraint firstItem="1uh-3v-vfA" firstAttribute="top" secondItem="VQ2-aQ-6gD" secondAttribute="top" constant="30" id="xup-Td-sgo"/>
<constraint firstItem="fcq-fM-YqF" firstAttribute="leading" secondItem="VQ2-aQ-6gD" secondAttribute="leading" id="y82-0m-7nl"/>
</constraints>
</view>
<navigationItem key="navigationItem" id="IZ3-42-UXo"/>
<connections>
<outlet property="collectionView" destination="1uh-3v-vfA" id="RGK-16-LPn"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="pn4-St-f6P" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="2324.6376811594205" y="-27.455357142857142"/>
</scene>
</scenes>
<designables>
<designable name="42K-Uu-lPQ">

View File

@@ -9,21 +9,60 @@ import UIKit
class SelectAvatarVC: UIViewController {
@IBOutlet weak var collectionView: UICollectionView!
var vm = SelectAvatarVM()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
vm.vc = self
vm.initView()
}
/*
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// Get the new view controller using segue.destination.
// Pass the selected object to the new view controller.
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
navigationController?.setNavigationBarHidden(false, animated: animated)
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
navigationController?.setNavigationBarHidden(true, animated: animated)
}
}
// MARK: - CollectionView Delegate
extension SelectAvatarVC : UICollectionViewDelegate , UICollectionViewDataSource{
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 10
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: K.CellIdentifier.Authentication.selectAvatarCell, for: indexPath) as! SelectAvatarCell
cell.setData()
return cell
}
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
}
}
// MARK: - Collection Flow Layout
extension SelectAvatarVC : UICollectionViewDelegateFlowLayout{
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
return 10
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
let noOfItems = self.collectionView.frame.width
let size = ((noOfItems / 3) - 10)
return CGSize(width: size, height: size)
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
return UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
}
*/
}

View File

@@ -6,14 +6,35 @@
//
import UIKit
struct Temp{
let text : String?
var selected : Bool?
}
class UserIntrestVC: UIViewController {
@IBOutlet weak var boyView: UIView!
@IBOutlet weak var girlView: UIView!
@IBOutlet weak var datePicker: UIDatePicker!
@IBOutlet weak var collectionView: UICollectionView!
@IBOutlet weak var nextBtn: LocalisedElementsButton!
@IBOutlet weak var scrollView: UIScrollView!
@IBOutlet weak var contentHeight: NSLayoutConstraint!
var vm = UserIntrestVM()
var test = [Temp(text: "ADVENTURES", selected: false),
Temp(text: "CARTOONS", selected: false),
Temp(text: "SUPER HEROES", selected: false),
Temp(text: "SPORTS", selected: false),
Temp(text: "SCIENCE", selected: false),
Temp(text: "TRAVEL", selected: false),
Temp(text: "ADVENTURES", selected: false),
Temp(text: "CARTOONS", selected: false),
Temp(text: "SUPER HEROES", selected: false),
Temp(text: "SPORTS", selected: false),
Temp(text: "SCIENCE", selected: false),
Temp(text: "TRAVEL", selected: false)]
override func viewDidLoad() {
super.viewDidLoad()
@@ -23,6 +44,74 @@ class UserIntrestVC: UIViewController {
boyView.roundCorner(radius: 25)
girlView.roundCorner(radius: 25)
datePicker.setValue(UIColor.appColor(.TextDarkBlue), forKeyPath: "textColor")
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
navigationController?.setNavigationBarHidden(false, animated: animated)
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
navigationController?.setNavigationBarHidden(true, animated: animated)
}
@IBAction func nextBtnTapped(_ sender: LocalisedElementsButton) {
let sb = UIStoryboard(name: K.StoryBoard.authenticationSB, bundle: nil)
let vc = sb.instantiateViewController(withIdentifier: K.StoryBoardID.Authentication.selectAvatarVC) as! SelectAvatarVC
self.navigationController?.pushViewController(vc, animated: true)
}
}
// MARK: - CollectionView Delegate
extension UserIntrestVC : UICollectionViewDelegate , UICollectionViewDataSource{
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return test.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: K.CellIdentifier.Authentication.yourIntrestCell, for: indexPath) as! YourIntrestCell
cell.setData(text: test[indexPath.row].text!,selected: test[indexPath.row].selected!)
return cell
}
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
test[indexPath.row].selected?.toggle()
UIView.performWithoutAnimation {
self.collectionView.reloadItems(at: [IndexPath(row: indexPath.row, section: 0)])
}
}
}
// MARK: - Collection Flow Layout
extension UserIntrestVC : UICollectionViewDelegateFlowLayout{
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
// Generate a random string for testing purposes
let randomText = test[indexPath.row].text!
// Define the font for the text
let font = UIFont.systemFont(ofSize: 14) // You can adjust the font size as needed
// Calculate the width of the text
let textWidth = randomText.size(withAttributes: [.font: font]).width
// Set the cell width based on the text width and any additional padding
let cellWidth = textWidth + 25 // Add any additional spacing you want
return CGSize(width: cellWidth, height: 45)
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
section == 0 ? 15 : 5
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)
}
}

View File

@@ -9,9 +9,19 @@ import UIKit
class SelectAvatarCell: UICollectionViewCell {
@IBOutlet weak var outerView: UIView!
@IBOutlet weak var imageView: UIImageView!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
self.outerView.backgroundColor = UIColor.white.withAlphaComponent(0.5)
}
override func layoutSubviews() {
self.outerView.roundCorner()
}
func setData(){
// self.imageView.image = UIImage(named: "avatar")
}
}

View File

@@ -1,21 +1,59 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13142" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina6_12" orientation="portrait" appearance="light"/>
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12042"/>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22684"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="System colors in document resources" minToolsVersion="11.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" id="gTV-IL-0wX" customClass="SelectAvatarCell" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="50" height="50"/>
<collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" reuseIdentifier="SelectAvatarCell" id="gTV-IL-0wX" customClass="SelectAvatarCell" customModule="WOKA" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="140" height="137"/>
<autoresizingMask key="autoresizingMask"/>
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
<rect key="frame" x="0.0" y="0.0" width="50" height="50"/>
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
<rect key="frame" x="0.0" y="0.0" width="140" height="137"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="8tw-b5-J4G">
<rect key="frame" x="0.0" y="0.0" width="140" height="137"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="avatar" translatesAutoresizingMaskIntoConstraints="NO" id="jAB-i7-AwW">
<rect key="frame" x="15" y="15" width="110" height="107"/>
</imageView>
</subviews>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<constraints>
<constraint firstAttribute="trailing" secondItem="jAB-i7-AwW" secondAttribute="trailing" constant="15" id="HDh-Tm-Oro"/>
<constraint firstItem="jAB-i7-AwW" firstAttribute="top" secondItem="8tw-b5-J4G" secondAttribute="top" constant="15" id="dg8-ZZ-mJq"/>
<constraint firstAttribute="bottom" secondItem="jAB-i7-AwW" secondAttribute="bottom" constant="15" id="nUz-jY-oBc"/>
<constraint firstItem="jAB-i7-AwW" firstAttribute="leading" secondItem="8tw-b5-J4G" secondAttribute="leading" constant="15" id="sKw-ul-aIV"/>
</constraints>
</view>
</subviews>
</view>
<viewLayoutGuide key="safeArea" id="ZTg-uK-7eu"/>
<constraints>
<constraint firstItem="8tw-b5-J4G" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" id="KB5-7p-j6p"/>
<constraint firstAttribute="trailing" secondItem="8tw-b5-J4G" secondAttribute="trailing" id="aOh-tp-RlW"/>
<constraint firstAttribute="bottom" secondItem="8tw-b5-J4G" secondAttribute="bottom" id="bDq-l3-Ixr"/>
<constraint firstItem="8tw-b5-J4G" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" id="rrq-VB-fip"/>
</constraints>
<size key="customSize" width="140" height="137"/>
<connections>
<outlet property="imageView" destination="jAB-i7-AwW" id="Vxl-FL-cpa"/>
<outlet property="outerView" destination="8tw-b5-J4G" id="h4j-Bi-SME"/>
</connections>
<point key="canvasLocation" x="192.36641221374046" y="50.352112676056343"/>
</collectionViewCell>
</objects>
<resources>
<image name="avatar" width="70" height="78"/>
<systemColor name="systemBackgroundColor">
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</systemColor>
</resources>
</document>

View File

@@ -9,9 +9,26 @@ import UIKit
class YourIntrestCell: UICollectionViewCell {
@IBOutlet weak var outerView: UIView!
@IBOutlet weak var intrestLabel: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func layoutSubviews() {
outerView.roundCorner(radius: 20)
// outerView.backgroundColor = UIColor.white.withAlphaComponent(0.5)
}
func setData(text : String,selected : Bool){
intrestLabel.text = text
if selected{
outerView.backgroundColor = UIColor.white
}else{
outerView.backgroundColor = UIColor.white.withAlphaComponent(0.5)
}
}
}

View File

@@ -1,21 +1,67 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13142" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina6_12" orientation="portrait" appearance="light"/>
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12042"/>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22684"/>
<capability name="Named colors" minToolsVersion="9.0"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<customFonts key="customFonts">
<array key="Exo2-Bold.ttf">
<string>Exo2-Bold</string>
</array>
</customFonts>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" id="gTV-IL-0wX" customClass="YourIntrestCell" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="50" height="50"/>
<collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="YourIntrestCell" id="gTV-IL-0wX" customClass="YourIntrestCell" customModule="WOKA" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="209" height="61"/>
<autoresizingMask key="autoresizingMask"/>
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
<rect key="frame" x="0.0" y="0.0" width="50" height="50"/>
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
<rect key="frame" x="0.0" y="0.0" width="209" height="61"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Itg-GT-igU">
<rect key="frame" x="0.0" y="3" width="209" height="55"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="s" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6Ho-cb-yll">
<rect key="frame" x="5" y="5" width="199" height="45"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<fontDescription key="fontDescription" name="Exo2-Bold" family="Exo 2" pointSize="14"/>
<color key="textColor" name="TextDarkBlue"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" white="0.96984393780048073" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="6Ho-cb-yll" firstAttribute="leading" secondItem="Itg-GT-igU" secondAttribute="leading" constant="5" id="7Pq-98-Lbj"/>
<constraint firstAttribute="bottom" secondItem="6Ho-cb-yll" secondAttribute="bottom" constant="5" id="gwV-mR-s5f"/>
<constraint firstItem="6Ho-cb-yll" firstAttribute="top" secondItem="Itg-GT-igU" secondAttribute="top" constant="5" id="kn8-Dv-XpA"/>
<constraint firstAttribute="trailing" secondItem="6Ho-cb-yll" secondAttribute="trailing" constant="5" id="tjD-m4-jFh"/>
</constraints>
</view>
</subviews>
</view>
<viewLayoutGuide key="safeArea" id="ZTg-uK-7eu"/>
<constraints>
<constraint firstAttribute="bottom" secondItem="Itg-GT-igU" secondAttribute="bottom" constant="3" id="Or0-6J-SdH"/>
<constraint firstItem="Itg-GT-igU" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" constant="3" id="ReS-hg-O1z"/>
<constraint firstItem="Itg-GT-igU" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" id="glt-Uv-Wc9"/>
<constraint firstAttribute="trailing" secondItem="Itg-GT-igU" secondAttribute="trailing" id="idW-Vu-exJ"/>
</constraints>
<size key="customSize" width="209" height="61"/>
<connections>
<outlet property="intrestLabel" destination="6Ho-cb-yll" id="N3L-Me-gWN"/>
<outlet property="outerView" destination="Itg-GT-igU" id="3i7-V8-nHV"/>
</connections>
<point key="canvasLocation" x="219.08396946564883" y="23.591549295774648"/>
</collectionViewCell>
</objects>
<resources>
<namedColor name="TextDarkBlue">
<color red="0.10599999874830246" green="0.050999999046325684" blue="0.60399997234344482" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</namedColor>
</resources>
</document>

View File

@@ -5,4 +5,19 @@
// Created by MacBook Pro on 02/05/24.
//
import Foundation
import UIKit
class SelectAvatarVM{
weak var vc : SelectAvatarVC!
func initView(){
setupCell()
}
func setupCell(){
vc.collectionView.register(UINib(nibName: K.CellIdentifier.Authentication.selectAvatarCell, bundle: nil), forCellWithReuseIdentifier: K.CellIdentifier.Authentication.selectAvatarCell)
vc.collectionView.delegate = self.vc
vc.collectionView.dataSource = self.vc
}
}

View File

@@ -5,13 +5,95 @@
// Created by MacBook Pro on 30/04/24.
//
import Foundation
import UIKit
class UserIntrestVM{
weak var vc : UserIntrestVC!
var gender = GenderEnum.none
func initView(){
setupCell()
let bottomPadding: CGFloat = 60 // Adjust this value as needed
// Get the current content inset
var contentInset = vc.scrollView.contentInset
// Add bottom padding
contentInset.bottom = bottomPadding
// Set the updated content inset
vc.scrollView.contentInset = contentInset
let color1 = #colorLiteral(red: 0.144693464, green: 0.1426281333, blue: 0.6686832905, alpha: 1)
let color2 = #colorLiteral(red: 0.6901960784, green: 0.2745098039, blue: 0.7568627451, alpha: 1)
vc.nextBtn.applyGradient(colors: [color1, color2], startPoint: CGPoint(x: 0, y: 0), endPoint: CGPoint(x: 0.8, y: 0))
vc.nextBtn.roundCorner()
/*
Set the collectionview height
*/
let height = self.vc.collectionView.collectionViewLayout.collectionViewContentSize.height
self.vc.contentHeight.constant = height
vc.view.layoutIfNeeded()
// Add tap gesture recognizer to the view
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(boyBtnTapped))
vc.boyView.addGestureRecognizer(tapGesture)
// Add tap gesture recognizer to the view
let tapGesture2 = UITapGestureRecognizer(target: self, action: #selector(girlBtnTapped))
vc.girlView.addGestureRecognizer(tapGesture2)
setGender()
}
func setGender(){
let alphaComp = 0.6
switch gender{
case .boy:
vc.boyView.backgroundColor = UIColor.white
vc.girlView.backgroundColor = UIColor.white.withAlphaComponent(alphaComp)
case .girl:
vc.girlView.backgroundColor = UIColor.white
vc.boyView.backgroundColor = UIColor.white.withAlphaComponent(alphaComp)
case .none:
vc.girlView.backgroundColor = UIColor.white.withAlphaComponent(alphaComp)
vc.boyView.backgroundColor = UIColor.white.withAlphaComponent(alphaComp)
}
}
@objc func boyBtnTapped() {
// Apply click effect animation
gender = .boy
UIView.animate(withDuration: 0.1, animations: {
self.vc.boyView.transform = CGAffineTransform(scaleX: 0.9, y: 0.9)
}) { _ in
UIView.animate(withDuration: 0.1) {
self.vc.boyView.transform = .identity
self.setGender()
}
}
}
@objc func girlBtnTapped() {
gender = .girl
// Apply click effect animation
UIView.animate(withDuration: 0.1, animations: {
self.vc.girlView.transform = CGAffineTransform(scaleX: 0.9, y: 0.9)
}) { _ in
UIView.animate(withDuration: 0.1) {
self.vc.girlView.transform = .identity
self.setGender()
}
}
}
func setupCell(){
vc.collectionView.register(UINib(nibName: K.CellIdentifier.Authentication.yourIntrestCell, bundle: nil), forCellWithReuseIdentifier: K.CellIdentifier.Authentication.yourIntrestCell)
vc.collectionView.delegate = self.vc
vc.collectionView.dataSource = self.vc
}
}

View File

@@ -16,5 +16,10 @@ extension K{
//
}
struct Authentication{
static let yourIntrestCell = "YourIntrestCell"
static let selectAvatarCell = "SelectAvatarCell"
}
}
}

View File

@@ -58,7 +58,7 @@ class OnBoardVM{
}
func animateWokaLogo(){
var topConstriant = CheckPhoneHomeBtnOrNotch.shareInstance.topConstriant()
let topConstriant = CheckPhoneHomeBtnOrNotch.shareInstance.topConstriant()
UIView.animate(withDuration: 0.6, animations: {
self.vc.wokaLogoTopConstriant.constant = topConstriant

View File

@@ -22,6 +22,7 @@ extension K{
static let oTPVC = "OTPVC"
static let userDetailsRegisterVC = "UserDetailsRegisterVC"
static let userIntrestVC = "UserIntrestVC"
static let selectAvatarVC = "SelectAvatarVC"
}
}

View File

@@ -6,3 +6,9 @@
//
import Foundation
enum GenderEnum{
case boy
case girl
case none
}

View File

@@ -5,4 +5,11 @@
// Created by MacBook Pro on 02/05/24.
//
import Foundation
import UIKit
extension UIView{
func addBorderView(width : CGFloat , color : UIColor){
self.layer.borderWidth = width
self.layer.borderColor = color.cgColor
}
}

View File

@@ -29,33 +29,36 @@ class SplashVC: UIViewController {
}
@IBAction func languageBtnTapped(_ sender: UIButton) {
switch sender{
case hindiBtn:
K.GVar.localized = K.LocalizedEnum.hindi
case englishBtn:
K.GVar.localized = K.LocalizedEnum.english
default:
K.GVar.localized = K.LocalizedEnum.english
}
let sb = UIStoryboard(name: K.StoryBoard.main, bundle: nil)
let vc = sb.instantiateViewController(withIdentifier: K.StoryBoardID.OnBoarding.onBoardVC) as! OnBoardVC
// Create a CATransition instance
let transition = CATransition()
transition.duration = 0.3 // Set the duration of the animation
transition.type = CATransitionType.fade // Set the type of animation to fade
// Optionally, set other properties such as timing function, subtype, etc.
// transition.timingFunction = CAMediaTimingFunction(name: CAMediaTimingFunctionName.easeInEaseOut)
// transition.subtype = CATransitionSubtype.fromTop
// Get the navigation controller
guard let navigationController = navigationController else { return }
// Perform the push animation with the custom transition
navigationController.view.layer.add(transition, forKey: nil)
navigationController.pushViewController(vc, animated: false)
let sb = UIStoryboard(name: K.StoryBoard.authenticationSB, bundle: nil)
let vc = sb.instantiateViewController(withIdentifier: K.StoryBoardID.Authentication.userIntrestVC) as! UserIntrestVC
self.navigationController?.pushViewController(vc, animated: true)
// switch sender{
// case hindiBtn:
// K.GVar.localized = K.LocalizedEnum.hindi
// case englishBtn:
// K.GVar.localized = K.LocalizedEnum.english
// default:
// K.GVar.localized = K.LocalizedEnum.english
// }
//
// let sb = UIStoryboard(name: K.StoryBoard.main, bundle: nil)
// let vc = sb.instantiateViewController(withIdentifier: K.StoryBoardID.OnBoarding.onBoardVC) as! OnBoardVC
//
// // Create a CATransition instance
// let transition = CATransition()
// transition.duration = 0.3 // Set the duration of the animation
// transition.type = CATransitionType.fade // Set the type of animation to fade
//
// // Optionally, set other properties such as timing function, subtype, etc.
// // transition.timingFunction = CAMediaTimingFunction(name: CAMediaTimingFunctionName.easeInEaseOut)
// // transition.subtype = CATransitionSubtype.fromTop
//
// // Get the navigation controller
// guard let navigationController = navigationController else { return }
//
// // Perform the push animation with the custom transition
// navigationController.view.layer.add(transition, forKey: nil)
// navigationController.pushViewController(vc, animated: false)
}
func animateImageScale() {