WanPai.xcodeproj/project.pbxproj | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
WanPai/AppDelegate.swift | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
WanPai/Base/BaseNav.swift | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
WanPai/Base/BaseVC.swift | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
WanPai/Config/Def.swift | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
WanPai/Info.plist | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
WanPai/Root/Home/VC/HomeVC.swift | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
WanPai/Root/Home/VC/JoinMemberIntroduceVC.swift | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
WanPai/Root/Login/VC/LoginVC.swift | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
WanPai/Root/Other/View/StoresChooseView.xib | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
WanPai/Root/Search/CCell/UploadImgCCell.swift | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
WanPai/Root/Search/CCell/UploadImgCCell.xib | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
WanPai/Root/Search/VC/SearchStoreDetailFeedbackVC.swift | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
WanPai/Root/Search/VC/SearchStoreDetailFeedbackVC.xib | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
WanPai.xcodeproj/project.pbxproj
@@ -123,6 +123,8 @@ 13AFABC12A4AE3DC001FEA16 /* StudentRemarkListVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13AFABC02A4AE3DC001FEA16 /* StudentRemarkListVC.swift */; }; 13AFABC42A4AE492001FEA16 /* StudentRemarkTCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13AFABC22A4AE492001FEA16 /* StudentRemarkTCell.swift */; }; 13AFABC52A4AE492001FEA16 /* StudentRemarkTCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13AFABC32A4AE492001FEA16 /* StudentRemarkTCell.xib */; }; 13B640C02A54108B00EA33ED /* UploadImgCCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13B640BE2A54108B00EA33ED /* UploadImgCCell.swift */; }; 13B640C12A54108B00EA33ED /* UploadImgCCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B640BF2A54108B00EA33ED /* UploadImgCCell.xib */; }; 13BEEAE52A4D8DFB00685667 /* WelfareExchangeRecordListVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13BEEAE42A4D8DFB00685667 /* WelfareExchangeRecordListVC.swift */; }; 13BEEAE72A4D927100685667 /* WelfareExchangeRecordSubListVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13BEEAE62A4D927100685667 /* WelfareExchangeRecordSubListVC.swift */; }; 13BEEAEA2A4D92A200685667 /* ExchangeRecordTCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13BEEAE82A4D92A200685667 /* ExchangeRecordTCell.swift */; }; @@ -359,6 +361,8 @@ 13AFABC02A4AE3DC001FEA16 /* StudentRemarkListVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StudentRemarkListVC.swift; sourceTree = "<group>"; }; 13AFABC22A4AE492001FEA16 /* StudentRemarkTCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StudentRemarkTCell.swift; sourceTree = "<group>"; }; 13AFABC32A4AE492001FEA16 /* StudentRemarkTCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = StudentRemarkTCell.xib; sourceTree = "<group>"; }; 13B640BE2A54108B00EA33ED /* UploadImgCCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UploadImgCCell.swift; sourceTree = "<group>"; }; 13B640BF2A54108B00EA33ED /* UploadImgCCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = UploadImgCCell.xib; sourceTree = "<group>"; }; 13BEEAE42A4D8DFB00685667 /* WelfareExchangeRecordListVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WelfareExchangeRecordListVC.swift; sourceTree = "<group>"; }; 13BEEAE62A4D927100685667 /* WelfareExchangeRecordSubListVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WelfareExchangeRecordSubListVC.swift; sourceTree = "<group>"; }; 13BEEAE82A4D92A200685667 /* ExchangeRecordTCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExchangeRecordTCell.swift; sourceTree = "<group>"; }; @@ -505,6 +509,8 @@ children = ( 1304B85A2A4EB0F8000D4F2E /* SearchBannerCCell.swift */, 1304B85B2A4EB0F8000D4F2E /* SearchBannerCCell.xib */, 13B640BE2A54108B00EA33ED /* UploadImgCCell.swift */, 13B640BF2A54108B00EA33ED /* UploadImgCCell.xib */, ); path = CCell; sourceTree = "<group>"; @@ -1224,6 +1230,7 @@ 8D8400DB2A2F1432003AF6A2 /* Assets.xcassets in Resources */, 8DFA9B862A3172BE00E99281 /* HomeVC.xib in Resources */, 8DFA9B922A317DE900E99281 /* WelfareVC.xib in Resources */, 13B640C12A54108B00EA33ED /* UploadImgCCell.xib in Resources */, 8D8DEDF32A31DDC500F2C7FA /* CouponCCell.xib in Resources */, 138D8B8F2A3FFE36009DCA9E /* YardListVC.xib in Resources */, 8D4905AE2A31AE7100E38513 /* JoinMemberIntroduceVC.xib in Resources */, @@ -1390,6 +1397,7 @@ 8D6D58D12A39906F0003CFE6 /* ActivitySignupListSubVC.swift in Sources */, 8D70178D2A330E5700473C40 /* CourseDetailVC.swift in Sources */, 1355ABFD2A4C15C7002B25E4 /* RechargeRecordVC.swift in Sources */, 13B640C02A54108B00EA33ED /* UploadImgCCell.swift in Sources */, 130E40262A4EC029003A3D75 /* SearchStoreDetailVC.swift in Sources */, 139A39F02A41374100737AFB /* YardBookingSubListVC.swift in Sources */, 136FD9B12A4C354000933B7C /* WelfareRedeemGoodsDetailVC.swift in Sources */, @@ -1606,11 +1614,11 @@ GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = WanPai/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = "玩湃"; INFOPLIST_KEY_NSLocationWhenInUseUsageDescription = "$(PRODUCT_NAME)需要使用使用定位,来推荐、搜索您附近的门店"; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; INFOPLIST_KEY_UIMainStoryboardFile = Main; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -1621,9 +1629,12 @@ PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = dev_profile; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; TARGETED_DEVICE_FAMILY = 1; }; name = Debug; }; @@ -1641,11 +1652,11 @@ GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = WanPai/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = "玩湃"; INFOPLIST_KEY_NSLocationWhenInUseUsageDescription = "$(PRODUCT_NAME)需要使用使用定位,来推荐、搜索您附近的门店"; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; INFOPLIST_KEY_UIMainStoryboardFile = Main; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait; IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -1656,9 +1667,12 @@ PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = adHoc_profile; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; TARGETED_DEVICE_FAMILY = 1; }; name = Release; }; WanPai/AppDelegate.swift
@@ -6,11 +6,14 @@ // import UIKit import JQTools @main class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? var orientation:UIInterfaceOrientationMask = .portrait func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { @@ -31,6 +34,8 @@ // Use this method to release any resources that were specific to the discarded scenes, as they will not return. } func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask { return orientation } } WanPai/Base/BaseNav.swift
@@ -102,7 +102,7 @@ override var preferredStatusBarStyle: UIStatusBarStyle{ return .lightContent } } WanPai/Base/BaseVC.swift
@@ -40,21 +40,6 @@ } func setRx(){ NotificationCenter.default.rx.notification(UIDevice.orientationDidChangeNotification).take(until:self.rx.deallocated).subscribe {[weak self] _ in let orient = UIDevice.current.orientation var desc = "" // switch orient { // case .portrait :desc = Localized("屏幕正常竖向") // case .portraitUpsideDown:desc = Localized("屏幕倒立") // case .landscapeLeft:desc = Localized("屏幕左旋转") // case .landscapeRight:desc = Localized("屏幕右旋转") // default:break // } if !desc.isEmpty{ self?.receiverNotification(orient: orient, desc: desc) } }.disposed(by: disposeBag) } func setUI(){ @@ -85,16 +70,24 @@ navigationController?.popViewController(animated: true) } deinit { LogInfo(String(format: "%@ 已释放", NSStringFromClass(self.classForCoder).components(separatedBy: ".").last!)) override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) { coordinator.animate(alongsideTransition: { [weak self] (context) in let orient = UIApplication.shared.statusBarOrientation switch orient { case .landscapeLeft, .landscapeRight: //横屏时禁止左拽滑出 self?.navigationController?.interactivePopGestureRecognizer?.isEnabled = false default: //竖屏时允许左拽滑出 self?.navigationController?.interactivePopGestureRecognizer?.isEnabled = true } }) super.viewWillTransition(to: size, with: coordinator) } /// 屏幕旋转:当设备方向改变,需要对UI进行重新布局,子类重写此方法 @objc open func receiverNotification(orient:UIDeviceOrientation,desc:String){ LogInfo(desc) refreshUI() deinit { LogInfo(String(format: "%@ 已释放", NSStringFromClass(self.classForCoder).components(separatedBy: ".").last!)) } } WanPai/Config/Def.swift
@@ -7,9 +7,12 @@ import Foundation import UIKit import JQTools let app = UIApplication.shared.delegate as! AppDelegate let locationTool = JQ_LocationTool.instance() var screnDelegate:SceneDelegate? = { var uiScreen:UIScene? UIApplication.shared.connectedScenes.forEach { scenes in WanPai/Info.plist
@@ -25,5 +25,7 @@ </array> </dict> </dict> <key>UIViewControllerBasedStatusBarAppearance</key> <true/> </dict> </plist> WanPai/Root/Home/VC/HomeVC.swift
@@ -14,9 +14,17 @@ private var layout:WaterFallFlowLayout! private var items = Array<String>() override func viewDidLoad() { super.viewDidLoad() locationTool.startLocation { local in print("SUCCESS--->\(local.coordinate)") locationTool.stopLocation() } errorClouse: { error in print("ERROR--->\(error.localizedDescription)") } } @@ -48,8 +56,7 @@ @IBAction func chooseStoresAction(_ sender: TapBtn) { StoresChooseView.show() } override var preferredStatusBarStyle: UIStatusBarStyle{ return .lightContent } WanPai/Root/Home/VC/JoinMemberIntroduceVC.swift
@@ -14,7 +14,7 @@ override func viewDidLoad() { super.viewDidLoad() title = "成为会员" } override func setUI() { WanPai/Root/Login/VC/LoginVC.swift
@@ -79,7 +79,7 @@ }).disposed(by: disposeBag) } @IBAction func exchangeLoginTypeAction(_ sender: UIButton) { btn_pwdLogin.isSelected = sender.tag == 10 btn_smsCodeLogin.isSelected = sender.tag == 11 @@ -174,6 +174,10 @@ override var preferredStatusBarStyle: UIStatusBarStyle{ return .default } override var shouldAutorotate: Bool{ return false } } extension LoginVC:UITextViewDelegate{ WanPai/Root/Other/View/StoresChooseView.xib
@@ -1,9 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21507" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> <device id="retina6_12" orientation="portrait" appearance="light"/> <dependencies> <deployment identifier="iOS"/> <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21505"/> <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21679"/> <capability name="Named colors" minToolsVersion="9.0"/> <capability name="Safe area layout guides" minToolsVersion="9.0"/> <capability name="System colors in document resources" minToolsVersion="11.0"/> @@ -17,25 +17,25 @@ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ea6-eG-h1P"> <rect key="frame" x="45" y="333.66666666666669" width="303" height="210.00000000000006"/> <rect key="frame" x="45" y="256.66666666666669" width="303" height="364.00000000000006"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="选择门店" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vnK-Bc-xWN"> <rect key="frame" x="114.66666666666666" y="24" width="73.666666666666657" height="21"/> <rect key="frame" x="114.66666666666666" y="24" width="73.666666666666657" height="21.666666666666671"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="18"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="YCO-sD-KY4" customClass="TapBtn" customModule="WanPai" customModuleProvider="target"> <rect key="frame" x="20" y="72" width="263" height="50"/> <rect key="frame" x="95.666666666666643" y="221" width="199.33333333333337" height="50"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="sjM-7I-k3g"> <rect key="frame" x="14.999999999999996" y="15.333333333333313" width="40.666666666666657" height="19.333333333333329"/> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="选择门店" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="sjM-7I-k3g"> <rect key="frame" x="15" y="15.333333333333313" width="65.333333333333329" height="19.333333333333329"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/> <nil key="textColor"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.60999999999999999" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_down_arrow" translatesAutoresizingMaskIntoConstraints="NO" id="ZlA-4r-lHH"> <rect key="frame" x="231" y="18" width="20" height="14"/> <rect key="frame" x="167.33333333333334" y="18" width="20" height="14"/> </imageView> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> @@ -62,7 +62,7 @@ </connections> </view> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Gtx-K4-ldi"> <rect key="frame" x="20.000000000000007" y="150" width="121.66666666666669" height="40"/> <rect key="frame" x="20.000000000000007" y="303.99999999999994" width="121.66666666666669" height="40"/> <color key="backgroundColor" red="0.75294117647058822" green="0.75294117647058822" blue="0.75294117647058822" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="height" constant="40" id="VNh-Ns-GXh"/> @@ -81,7 +81,7 @@ </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="MK0-Fw-fiO"> <rect key="frame" x="161.66666666666666" y="150" width="121.33333333333334" height="40"/> <rect key="frame" x="161.66666666666666" y="303.99999999999994" width="121.33333333333334" height="40"/> <color key="backgroundColor" name="FE6E0D"/> <constraints> <constraint firstAttribute="height" constant="40" id="CGz-wa-xYW"/> @@ -99,21 +99,131 @@ <action selector="completeAction:" destination="iN0-l3-epB" eventType="touchUpInside" id="zmz-SN-Ulx"/> </connections> </button> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="门店名称:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Iwt-0W-DTT"> <rect key="frame" x="14" y="236.33333333333331" width="81.666666666666671" height="19.333333333333343"/> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="16"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.81000000000000005" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="A9R-Ja-bxD" customClass="TapBtn" customModule="WanPai" customModuleProvider="target"> <rect key="frame" x="95.666666666666657" y="76.666666666666629" width="169.99999999999997" height="50"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="选择省份" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="LHk-zb-Nvv"> <rect key="frame" x="15" y="15.333333333333369" width="65.333333333333329" height="19.333333333333329"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.60999999999999999" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_down_arrow" translatesAutoresizingMaskIntoConstraints="NO" id="uVb-d4-a48"> <rect key="frame" x="138.00000000000003" y="18" width="20" height="14"/> </imageView> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="LHk-zb-Nvv" firstAttribute="centerY" secondItem="A9R-Ja-bxD" secondAttribute="centerY" id="5bt-Op-Vmg"/> <constraint firstItem="uVb-d4-a48" firstAttribute="centerY" secondItem="A9R-Ja-bxD" secondAttribute="centerY" id="CRz-Ld-o7W"/> <constraint firstItem="LHk-zb-Nvv" firstAttribute="leading" secondItem="A9R-Ja-bxD" secondAttribute="leading" constant="15" id="FfR-sL-Q12"/> <constraint firstAttribute="height" constant="50" id="Log-tu-XNH"/> <constraint firstAttribute="trailing" secondItem="uVb-d4-a48" secondAttribute="trailing" constant="12" id="dwD-Cy-Ich"/> </constraints> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="color" keyPath="borderColor"> <color key="value" red="0.80392156859999997" green="0.80392156859999997" blue="0.80392156859999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </userDefinedRuntimeAttribute> <userDefinedRuntimeAttribute type="number" keyPath="borderWidth"> <real key="value" value="1"/> </userDefinedRuntimeAttribute> <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius"> <real key="value" value="6"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> <connections> <action selector="tapChooseAction:" destination="iN0-l3-epB" eventType="touchUpInside" id="rX9-r7-Idz"/> </connections> </view> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="省" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="TQ0-7y-gmP"> <rect key="frame" x="276.66666666666669" y="92" width="16.333333333333314" height="19.333333333333329"/> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="16"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.60999999999999999" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="所在城市:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="reI-TL-hMa"> <rect key="frame" x="14" y="92" width="81.666666666666671" height="19"/> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="16"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.81000000000000005" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="s9M-HC-hay" customClass="TapBtn" customModule="WanPai" customModuleProvider="target"> <rect key="frame" x="95.666666666666657" y="144.66666666666663" width="169.99999999999997" height="50"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="选择城市" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="flf-S9-xVu"> <rect key="frame" x="15" y="15.333333333333369" width="65.333333333333329" height="19.333333333333329"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.60999999999999999" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_down_arrow" translatesAutoresizingMaskIntoConstraints="NO" id="p7S-Td-vXl"> <rect key="frame" x="138.00000000000003" y="18" width="20" height="14"/> </imageView> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstAttribute="trailing" secondItem="p7S-Td-vXl" secondAttribute="trailing" constant="12" id="BeR-Sm-Kee"/> <constraint firstAttribute="height" constant="50" id="cjw-jM-YU0"/> <constraint firstItem="flf-S9-xVu" firstAttribute="leading" secondItem="s9M-HC-hay" secondAttribute="leading" constant="15" id="cwi-Q5-VRu"/> <constraint firstItem="p7S-Td-vXl" firstAttribute="centerY" secondItem="s9M-HC-hay" secondAttribute="centerY" id="gRf-WW-K2E"/> <constraint firstItem="flf-S9-xVu" firstAttribute="centerY" secondItem="s9M-HC-hay" secondAttribute="centerY" id="rMg-L9-rNT"/> </constraints> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="color" keyPath="borderColor"> <color key="value" red="0.80392156859999997" green="0.80392156859999997" blue="0.80392156859999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </userDefinedRuntimeAttribute> <userDefinedRuntimeAttribute type="number" keyPath="borderWidth"> <real key="value" value="1"/> </userDefinedRuntimeAttribute> <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius"> <real key="value" value="6"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> <connections> <action selector="tapChooseAction:" destination="iN0-l3-epB" eventType="touchUpInside" id="n7R-6I-v9d"/> </connections> </view> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="市" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bpE-eg-Ouo"> <rect key="frame" x="276.66666666666669" y="160" width="16.333333333333314" height="19.333333333333343"/> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="16"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.60999999999999999" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="YCO-sD-KY4" firstAttribute="top" secondItem="vnK-Bc-xWN" secondAttribute="bottom" constant="27" id="5Sg-XI-tyk"/> <constraint firstItem="YCO-sD-KY4" firstAttribute="leading" secondItem="ea6-eG-h1P" secondAttribute="leading" constant="20" id="Ede-8g-lpm"/> <constraint firstItem="A9R-Ja-bxD" firstAttribute="top" secondItem="vnK-Bc-xWN" secondAttribute="bottom" constant="31" id="01u-Qq-Gvy"/> <constraint firstItem="A9R-Ja-bxD" firstAttribute="centerY" secondItem="reI-TL-hMa" secondAttribute="centerY" id="1nD-04-k7j"/> <constraint firstItem="bpE-eg-Ouo" firstAttribute="centerY" secondItem="s9M-HC-hay" secondAttribute="centerY" id="5ME-wE-s3r"/> <constraint firstItem="Iwt-0W-DTT" firstAttribute="leading" secondItem="ea6-eG-h1P" secondAttribute="leading" constant="14" id="LJ1-JK-oMp"/> <constraint firstItem="A9R-Ja-bxD" firstAttribute="leading" secondItem="reI-TL-hMa" secondAttribute="trailing" id="NCp-A4-fbe"/> <constraint firstItem="MK0-Fw-fiO" firstAttribute="width" secondItem="Gtx-K4-ldi" secondAttribute="width" id="Nhf-NG-Bmn"/> <constraint firstItem="TQ0-7y-gmP" firstAttribute="leading" secondItem="A9R-Ja-bxD" secondAttribute="trailing" constant="11" id="O7C-da-RVS"/> <constraint firstAttribute="bottom" secondItem="MK0-Fw-fiO" secondAttribute="bottom" constant="20" id="R8O-yc-CxM"/> <constraint firstItem="vnK-Bc-xWN" firstAttribute="centerX" secondItem="ea6-eG-h1P" secondAttribute="centerX" id="RF5-nd-8KE"/> <constraint firstItem="vnK-Bc-xWN" firstAttribute="top" secondItem="ea6-eG-h1P" secondAttribute="top" constant="24" id="S7D-zN-YJ6"/> <constraint firstAttribute="trailing" secondItem="YCO-sD-KY4" secondAttribute="trailing" constant="20" id="Wh9-1t-F64"/> <constraint firstItem="s9M-HC-hay" firstAttribute="leading" secondItem="A9R-Ja-bxD" secondAttribute="leading" id="Ss6-Fl-tkl"/> <constraint firstAttribute="trailing" secondItem="YCO-sD-KY4" secondAttribute="trailing" constant="8" id="Wh9-1t-F64"/> <constraint firstAttribute="bottom" secondItem="Gtx-K4-ldi" secondAttribute="bottom" constant="20" id="brJ-st-kuO"/> <constraint firstItem="reI-TL-hMa" firstAttribute="leading" secondItem="ea6-eG-h1P" secondAttribute="leading" constant="14" id="cAD-e4-anQ"/> <constraint firstItem="s9M-HC-hay" firstAttribute="top" secondItem="A9R-Ja-bxD" secondAttribute="bottom" constant="18" id="dWh-FY-cIf"/> <constraint firstItem="YCO-sD-KY4" firstAttribute="leading" secondItem="Iwt-0W-DTT" secondAttribute="trailing" id="dih-tS-QhP"/> <constraint firstItem="MK0-Fw-fiO" firstAttribute="leading" secondItem="Gtx-K4-ldi" secondAttribute="trailing" constant="20" id="iiy-cI-0Cr"/> <constraint firstAttribute="height" constant="210" id="jRa-OG-3Na"/> <constraint firstItem="Gtx-K4-ldi" firstAttribute="top" secondItem="YCO-sD-KY4" secondAttribute="bottom" constant="33" id="jEX-P7-jTU"/> <constraint firstAttribute="height" constant="364" id="jRa-OG-3Na"/> <constraint firstAttribute="trailing" secondItem="MK0-Fw-fiO" secondAttribute="trailing" constant="20" id="kKt-QK-ktq"/> <constraint firstAttribute="trailing" secondItem="bpE-eg-Ouo" secondAttribute="trailing" constant="10" id="ljo-a4-pHf"/> <constraint firstAttribute="trailing" secondItem="TQ0-7y-gmP" secondAttribute="trailing" constant="10" id="qMO-ac-jNi"/> <constraint firstItem="bpE-eg-Ouo" firstAttribute="leading" secondItem="s9M-HC-hay" secondAttribute="trailing" constant="11" id="rxk-cZ-TEc"/> <constraint firstItem="TQ0-7y-gmP" firstAttribute="centerY" secondItem="A9R-Ja-bxD" secondAttribute="centerY" id="u1V-GM-KFn"/> <constraint firstItem="Gtx-K4-ldi" firstAttribute="leading" secondItem="ea6-eG-h1P" secondAttribute="leading" constant="20" id="wLW-ue-oaS"/> <constraint firstItem="YCO-sD-KY4" firstAttribute="centerY" secondItem="Iwt-0W-DTT" secondAttribute="centerY" id="zE5-0h-5Ug"/> </constraints> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/> @@ -135,13 +245,13 @@ <outlet property="label_currently" destination="sjM-7I-k3g" id="zoR-nM-OxD"/> <outlet property="view_container" destination="ea6-eG-h1P" id="BWb-nv-CLC"/> </connections> <point key="canvasLocation" x="140" y="21"/> <point key="canvasLocation" x="139.69465648854961" y="20.422535211267608"/> </view> </objects> <resources> <image name="icon_down_arrow" width="20" height="14"/> <namedColor name="FE6E0D"> <color red="0.99599999189376831" green="0.4309999942779541" blue="0.050999999046325684" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <color red="0.99199998378753662" green="0.53299999237060547" blue="0.0080000003799796104" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </namedColor> <systemColor name="systemBackgroundColor"> <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> WanPai/Root/Search/CCell/UploadImgCCell.swift
New file @@ -0,0 +1,17 @@ // // UploadImgCCell.swift // WanPai // // Created by 无故事王国 on 2023/7/4. // import UIKit class UploadImgCCell: UICollectionViewCell { override func awakeFromNib() { super.awakeFromNib() // Initialization code } } WanPai/Root/Search/CCell/UploadImgCCell.xib
New file @@ -0,0 +1,47 @@ <?xml version="1.0" encoding="UTF-8"?> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> <device id="retina6_12" orientation="portrait" appearance="light"/> <dependencies> <deployment identifier="iOS"/> <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21679"/> <capability name="Safe area layout guides" minToolsVersion="9.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" reuseIdentifier="_UploadImgCCell" id="gTV-IL-0wX" customClass="UploadImgCCell" customModule="WanPai" customModuleProvider="target"> <rect key="frame" x="0.0" y="0.0" width="85" height="90"/> <autoresizingMask key="autoresizingMask"/> <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center"> <rect key="frame" x="0.0" y="0.0" width="85" height="90"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> <subviews> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="btn_evaluate_add" translatesAutoresizingMaskIntoConstraints="NO" id="v5Q-qM-hTv"> <rect key="frame" x="2.6666666666666643" y="2.6666666666666643" width="80" height="85"/> </imageView> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="fFK-k3-YIh"> <rect key="frame" x="67" y="0.0" width="18" height="22"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" image="btn_evaluate_delete"/> </button> </subviews> </view> <viewLayoutGuide key="safeArea" id="ZTg-uK-7eu"/> <constraints> <constraint firstAttribute="trailing" secondItem="fFK-k3-YIh" secondAttribute="trailing" id="0i7-sV-Rz4"/> <constraint firstItem="v5Q-qM-hTv" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="2.5" id="2Ms-oS-QmO"/> <constraint firstItem="fFK-k3-YIh" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" id="6Vv-Pq-ZCc"/> <constraint firstItem="v5Q-qM-hTv" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" constant="2.5" id="UeD-Ig-O1o"/> <constraint firstAttribute="trailing" secondItem="v5Q-qM-hTv" secondAttribute="trailing" constant="2.5" id="VMu-1e-pVO"/> <constraint firstAttribute="bottom" secondItem="v5Q-qM-hTv" secondAttribute="bottom" constant="2.5" id="zmu-OG-hSq"/> </constraints> <size key="customSize" width="85" height="90"/> <point key="canvasLocation" x="89.312977099236633" y="34.507042253521128"/> </collectionViewCell> </objects> <resources> <image name="btn_evaluate_add" width="55" height="55"/> <image name="btn_evaluate_delete" width="18" height="18"/> </resources> </document> WanPai/Root/Search/VC/SearchStoreDetailFeedbackVC.swift
@@ -8,10 +8,51 @@ import UIKit class SearchStoreDetailFeedbackVC: BaseVC { @IBOutlet weak var stackView: UIStackView! @IBOutlet weak var collectionView: UICollectionView! override func viewDidLoad() { super.viewDidLoad() title = "门店评价" collectionView.delegate = self collectionView.dataSource = self collectionView.register(UINib(nibName: "UploadImgCCell", bundle: nil), forCellWithReuseIdentifier: "_UploadImgCCell") } @IBAction func startAction(_ sender: UIButton) { let tag = sender.tag for v in (stackView.arrangedSubviews as! [UIButton]){ v.isSelected = v.tag <= tag } } } extension SearchStoreDetailFeedbackVC:UICollectionViewDelegate{ } extension SearchStoreDetailFeedbackVC:UICollectionViewDataSource{ func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "_UploadImgCCell", for: indexPath) as! UploadImgCCell return cell } func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { return 2 } } extension SearchStoreDetailFeedbackVC:UICollectionViewDelegateFlowLayout{ func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { return CGSize(width: 60, height: 60) } func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat { return 0.01 } func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat { return 0.01 } } WanPai/Root/Search/VC/SearchStoreDetailFeedbackVC.xib
@@ -11,6 +11,8 @@ <objects> <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="SearchStoreDetailFeedbackVC" customModule="WanPai" customModuleProvider="target"> <connections> <outlet property="collectionView" destination="Bdf-BC-sQU" id="6At-sV-EKq"/> <outlet property="stackView" destination="eVR-tY-BNf" id="bu9-4c-oDW"/> <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> </connections> </placeholder> @@ -28,35 +30,50 @@ <stackView opaque="NO" contentMode="scaleToFill" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="eVR-tY-BNf"> <rect key="frame" x="88.666666666666686" y="76.666666666666671" width="110" height="22"/> <subviews> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="UoP-cT-TEF"> <button opaque="NO" tag="10" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="UoP-cT-TEF"> <rect key="frame" x="0.0" y="0.0" width="18" height="22"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" image="btn_start_u"/> <state key="selected" image="btn_start"/> <connections> <action selector="startAction:" destination="-1" eventType="touchUpInside" id="Jr1-xo-EUj"/> </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="GFD-em-bLY"> <button opaque="NO" tag="11" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="GFD-em-bLY"> <rect key="frame" x="23" y="0.0" width="18" height="22"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" image="btn_start_u"/> <state key="selected" image="btn_start"/> <connections> <action selector="startAction:" destination="-1" eventType="touchUpInside" id="RNK-J1-NbV"/> </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="zc9-Uc-1xK"> <button opaque="NO" tag="12" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="zc9-Uc-1xK"> <rect key="frame" x="45.999999999999986" y="0.0" width="18" height="22"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" image="btn_start_u"/> <state key="selected" image="btn_start"/> <connections> <action selector="startAction:" destination="-1" eventType="touchUpInside" id="yew-Vq-oWc"/> </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="yHm-w0-pr4"> <button opaque="NO" tag="13" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="yHm-w0-pr4"> <rect key="frame" x="68.999999999999986" y="0.0" width="18" height="22"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" image="btn_start_u"/> <state key="selected" image="btn_start"/> <connections> <action selector="startAction:" destination="-1" eventType="touchUpInside" id="6jh-L5-DD2"/> </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Ub1-EE-3Ax"> <button opaque="NO" tag="14" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Ub1-EE-3Ax"> <rect key="frame" x="91.999999999999986" y="0.0" width="18" height="22"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" image="btn_start_u"/> <state key="selected" image="btn_start"/> <connections> <action selector="startAction:" destination="-1" eventType="touchUpInside" id="gRh-95-SGw"/> </connections> </button> </subviews> </stackView> @@ -106,14 +123,30 @@ <nil key="textColor"/> <nil key="highlightedColor"/> </label> <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="none" translatesAutoresizingMaskIntoConstraints="NO" id="Bdf-BC-sQU"> <rect key="frame" x="14" y="416.33333333333331" width="365" height="65"/> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstAttribute="height" constant="65" id="X5m-a8-WfI"/> </constraints> <collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="10" minimumInteritemSpacing="10" id="YLS-E1-VOS"> <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> </collectionView> </subviews> <viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="oDM-kN-KPX" secondAttribute="trailing" constant="14" id="2aT-mi-vng"/> <constraint firstItem="Bdf-BC-sQU" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="14" id="FQn-ws-DNf"/> <constraint firstItem="Bdf-BC-sQU" firstAttribute="top" secondItem="aOL-oD-g8G" secondAttribute="bottom" constant="6" id="MOi-6C-9JU"/> <constraint firstItem="JaJ-JT-dcZ" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="14" id="PnD-Zo-hhG"/> <constraint firstItem="aOL-oD-g8G" firstAttribute="top" secondItem="oDM-kN-KPX" secondAttribute="bottom" constant="22" id="XXj-4r-mQ1"/> <constraint firstItem="oDM-kN-KPX" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="14" id="bNu-Bl-8PE"/> <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="Bdf-BC-sQU" secondAttribute="trailing" constant="14" id="eYU-ax-TcF"/> <constraint firstItem="JaJ-JT-dcZ" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="topMargin" constant="20" id="h3p-DZ-GDN"/> <constraint firstItem="eVR-tY-BNf" firstAttribute="leading" secondItem="JaJ-JT-dcZ" secondAttribute="trailing" constant="3" id="ksM-IT-LLv"/> <constraint firstItem="aOL-oD-g8G" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" constant="14" id="m1D-88-DgM"/> @@ -122,7 +155,7 @@ <constraint firstItem="4n5-rh-U3q" firstAttribute="leading" secondItem="JaJ-JT-dcZ" secondAttribute="leading" id="usU-rf-zql"/> <constraint firstItem="eVR-tY-BNf" firstAttribute="centerY" secondItem="JaJ-JT-dcZ" secondAttribute="centerY" id="w8g-vQ-ggi"/> </constraints> <point key="canvasLocation" x="140" y="21"/> <point key="canvasLocation" x="139.69465648854961" y="20.422535211267608"/> </view> </objects> <resources>