8 Commits

Author SHA1 Message Date
Mathias Claassen 74bde2185b Fix Cocoapods source (#1077) 2020-10-12 09:22:50 -03:00
Mathias Claassen d299fe32cb Version bump 4.2.0 (#1076) 2020-10-09 10:59:04 -03:00
Kyle Hankinson 234a135f08 Fixes Carthage to master branch (#1075)
* + Fix for simulator issue/carthage build issue.

* + Headers public.

Co-authored-by: Kyle Hankinson <kyle.hankinson@gmail.com>
2020-10-09 09:13:04 -03:00
Eneko Alonso 0e5da84980 Add support for distribution via Swift Package Manager (SwiftPM) (#1073)
* Add Package.swift for distribution via SwiftPM

* Update publicHeadersPath

* Remove publicHeadersPath

* Flattened file structure

* Update project references

* Clean up

* Update README with instructions for installing via SwiftPM

* Fix typo

Co-authored-by: Mathias Claassen <mathiasclaassen7@gmail.com>

Co-authored-by: Mathias Claassen <mathiasclaassen7@gmail.com>
2020-09-23 09:31:38 -03:00
Mathias Claassen 3dd39ed7bc Version bump 4.1.0 (#1060) 2019-10-02 09:52:47 -03:00
Quintz Gábor 45d363fb0c iOS 13 dark mode support. (#1057) 2019-09-23 10:49:46 -03:00
Mathias Claassen 21f97ce9a6 Swift 5 updates in Examples and change Travis to use Xcode 11 (#1058) 2019-09-20 10:23:58 -03:00
mrcararia f2383b7903 Fix crash when .Nib is inside a framework bundle. (#1050) 2019-05-14 12:00:33 -03:00
100 changed files with 626 additions and 499 deletions
+1 -2
View File
@@ -1,8 +1,7 @@
language: objective-c
osx_image: xcode10.2
osx_image: xcode12
before_install:
- gem install cocoapods --quiet
- gem install xcpretty --quiet
- cd Tests && pod install && cd $TRAVIS_BUILD_DIR
script: rake test
+10 -1
View File
@@ -1,6 +1,15 @@
# Change Log
All notable changes to this project will be documented in this file.
### Version 4.2.0:
* Support for Swift Package Manager (#1073)
* Fix Carthage build (#1075)
### Version 4.1.0:
* Fix crash when .Nib is inside a framework bundle. (#1050)
* iOS 13 dark mode support. (#1057)
* Updates for Swift 5 in Examples
### Version 4.0.1:
* Memory improvements and fixes.
* Other minor fixes
@@ -141,6 +150,6 @@ All notable changes to this project will be documented in this file.
* Added a convenience method to deselect a `XLFormRowDescriptor`. `-(void)deselectFormRow:(XLFormRowDescriptor *)row;`. [#33](https://github.com/xmartlabs/XLForm/issues/33 "#33").
### Version 1.0.0
### Version 1.0.0
* Initial release
@@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="9059" systemVersion="15B42" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" initialViewController="p4n-1v-pzo">
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14865.1" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" colorMatched="YES" initialViewController="p4n-1v-pzo">
<device id="retina6_1" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9049"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14819.2"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--Navigation Controller-->
@@ -11,9 +13,8 @@
<navigationController automaticallyAdjustsScrollViewInsets="NO" id="p4n-1v-pzo" sceneMemberID="viewController">
<toolbarItems/>
<navigationBar key="navigationBar" contentMode="scaleToFill" id="SNt-hk-N3V">
<rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
<rect key="frame" x="0.0" y="44" width="414" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<animations/>
</navigationBar>
<nil name="viewControllers"/>
<connections>
@@ -22,7 +23,7 @@
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="jqF-cF-u4f" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="117" y="56"/>
<point key="canvasLocation" x="-3" y="38"/>
</scene>
<!--Others Form View Controller-->
<scene sceneID="dyJ-7m-RaD">
@@ -33,10 +34,9 @@
<viewControllerLayoutGuide type="bottom" id="HPb-Nx-E1G"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="wpr-wE-9nj">
<rect key="frame" x="0.0" y="64" width="320" height="504"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="808"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<animations/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</view>
<extendedEdge key="edgesForExtendedLayout" bottom="YES"/>
<navigationItem key="navigationItem" id="Hf0-cB-ORN"/>
@@ -46,7 +46,7 @@
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="7YZ-ZR-X81" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1533" y="-233"/>
<point key="canvasLocation" x="2221.739130434783" y="-156.02678571428569"/>
</scene>
<!--Native Event Form View Controller-->
<scene sceneID="EjT-rm-U3h">
@@ -57,17 +57,15 @@
<viewControllerLayoutGuide type="bottom" id="QuR-kY-o5R"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="tun-QW-CGC">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="842"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" separatorStyle="default" rowHeight="44" sectionHeaderHeight="10" sectionFooterHeight="10" translatesAutoresizingMaskIntoConstraints="NO" id="JY7-WL-SnH">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<animations/>
<rect key="frame" x="0.0" y="0.0" width="414" height="808"/>
<color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
</tableView>
</subviews>
<animations/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="JY7-WL-SnH" firstAttribute="leading" secondItem="tun-QW-CGC" secondAttribute="leading" id="bSe-SV-rx6"/>
<constraint firstAttribute="trailing" secondItem="JY7-WL-SnH" secondAttribute="trailing" id="jLI-68-pSq"/>
@@ -82,7 +80,7 @@
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="zV0-mq-irv" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1120" y="-635"/>
<point key="canvasLocation" x="1623.1884057971015" y="-425.22321428571428"/>
</scene>
<!--Examples-->
<scene sceneID="wf7-ha-lXx">
@@ -93,17 +91,15 @@
<viewControllerLayoutGuide type="bottom" id="0bE-2H-tqE"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="PO9-pF-A7O">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" separatorStyle="default" rowHeight="44" sectionHeaderHeight="10" sectionFooterHeight="10" translatesAutoresizingMaskIntoConstraints="NO" id="Lxj-Sb-kC6">
<rect key="frame" x="0.0" y="64" width="320" height="504"/>
<animations/>
<rect key="frame" x="0.0" y="88" width="414" height="774"/>
<color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
</tableView>
</subviews>
<animations/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="Lxj-Sb-kC6" firstAttribute="top" secondItem="kOR-67-djF" secondAttribute="bottom" id="PT1-Xo-3Ql"/>
<constraint firstAttribute="trailing" secondItem="Lxj-Sb-kC6" secondAttribute="trailing" id="brq-yF-WM8"/>
@@ -125,7 +121,7 @@
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="1V5-DZ-WfF" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="527" y="56"/>
<point key="canvasLocation" x="763.768115942029" y="37.5"/>
</scene>
<!--Blog Example View Controller-->
<scene sceneID="Vn0-9y-5bc">
@@ -136,17 +132,16 @@
<viewControllerLayoutGuide type="bottom" id="scM-da-Sg0"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="hrV-fb-58s">
<rect key="frame" x="0.0" y="64" width="320" height="504"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="808"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<animations/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</view>
<extendedEdge key="edgesForExtendedLayout" bottom="YES"/>
<navigationItem key="navigationItem" id="RJB-cz-SnF"/>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="Fvo-wr-5Ca" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="167" y="1151"/>
<point key="canvasLocation" x="242.0289855072464" y="770.75892857142856"/>
</scene>
<!--Validation Examples-->
<scene sceneID="z2I-Nk-y9W">
@@ -157,17 +152,15 @@
<viewControllerLayoutGuide type="bottom" id="xtJ-Wo-mhU"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="1Ol-Ra-Ysg">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" separatorStyle="default" rowHeight="44" sectionHeaderHeight="10" sectionFooterHeight="10" translatesAutoresizingMaskIntoConstraints="NO" id="Fty-3j-BeF">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<animations/>
<rect key="frame" x="0.0" y="24" width="414" height="838"/>
<color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
</tableView>
</subviews>
<animations/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="xtJ-Wo-mhU" firstAttribute="top" secondItem="Fty-3j-BeF" secondAttribute="bottom" id="CbV-4f-RzP"/>
<constraint firstItem="Fty-3j-BeF" firstAttribute="top" secondItem="AG9-N9-2qp" secondAttribute="bottom" constant="-64" id="Pdw-VG-qcc"/>
@@ -184,7 +177,7 @@
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="VFT-Og-STO" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="566" y="938"/>
<point key="canvasLocation" x="820.28985507246387" y="628.125"/>
</scene>
<!--Predicate Form View Controller-->
<scene sceneID="a9p-C8-g8y">
@@ -195,17 +188,16 @@
<viewControllerLayoutGuide type="bottom" id="Lsg-dH-McH"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="6EZ-O7-FjX">
<rect key="frame" x="0.0" y="64" width="320" height="504"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="808"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<animations/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</view>
<extendedEdge key="edgesForExtendedLayout" bottom="YES"/>
<navigationItem key="navigationItem" id="Lsd-xH-7IN"/>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="rZL-10-YZn" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="956" y="924"/>
<point key="canvasLocation" x="1385.5072463768117" y="618.75"/>
</scene>
<!--Selectors Form View Controller-->
<scene sceneID="KYK-TX-8rm">
@@ -216,10 +208,9 @@
<viewControllerLayoutGuide type="bottom" id="CTu-Y5-7Qw"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="bNj-SD-83w">
<rect key="frame" x="0.0" y="64" width="320" height="504"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="808"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<animations/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</view>
<extendedEdge key="edgesForExtendedLayout" bottom="YES"/>
<navigationItem key="navigationItem" id="Buo-Af-6Q1"/>
@@ -229,7 +220,7 @@
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="8fu-YK-6qz" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1346" y="533"/>
<point key="canvasLocation" x="1950.7246376811595" y="356.91964285714283"/>
</scene>
<!--Map View Controller-->
<scene sceneID="tAS-lK-35t">
@@ -240,17 +231,16 @@
<viewControllerLayoutGuide type="bottom" id="cgQ-Vs-ICN"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="JjC-E5-SyY">
<rect key="frame" x="0.0" y="64" width="320" height="504"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="808"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<animations/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</view>
<extendedEdge key="edgesForExtendedLayout" bottom="YES"/>
<navigationItem key="navigationItem" id="BjG-Bq-0lD"/>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="LmS-YR-mFY" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1789" y="533"/>
<point key="canvasLocation" x="2592.753623188406" y="356.91964285714283"/>
</scene>
<!--Native Event Navigation View Controller-->
<scene sceneID="mNb-be-ApA">
@@ -258,9 +248,8 @@
<navigationController automaticallyAdjustsScrollViewInsets="NO" id="K9D-4c-9eZ" customClass="NativeEventNavigationViewController" sceneMemberID="viewController">
<toolbarItems/>
<navigationBar key="navigationBar" contentMode="scaleToFill" id="fO3-V7-XXu">
<rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="56"/>
<autoresizingMask key="autoresizingMask"/>
<animations/>
</navigationBar>
<nil name="viewControllers"/>
<connections>
@@ -269,7 +258,7 @@
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="eqB-vl-BzH" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="586" y="-654"/>
<point key="canvasLocation" x="849.27536231884062" y="-437.94642857142856"/>
</scene>
<!--Basic Predicate View Controller-->
<scene sceneID="pD4-sm-x3a">
@@ -280,17 +269,16 @@
<viewControllerLayoutGuide type="bottom" id="2b4-gN-85p"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="NZg-t1-g19">
<rect key="frame" x="0.0" y="64" width="320" height="504"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="808"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<animations/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</view>
<extendedEdge key="edgesForExtendedLayout" bottom="YES"/>
<navigationItem key="navigationItem" id="1lh-jZ-lIV"/>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="Tlw-q2-pcu" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-159" y="1151"/>
<point key="canvasLocation" x="-230.43478260869566" y="770.75892857142856"/>
</scene>
<!--Users Table View Controller-->
<scene sceneID="lGi-0L-kUk">
@@ -301,17 +289,15 @@
<viewControllerLayoutGuide type="bottom" id="uVG-bI-IMr"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="sMH-hT-NCg">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView autoresizesSubviews="NO" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" separatorStyle="default" rowHeight="44" sectionHeaderHeight="10" sectionFooterHeight="10" translatesAutoresizingMaskIntoConstraints="NO" id="fLo-Gu-rqr">
<rect key="frame" x="0.0" y="20" width="320" height="548"/>
<animations/>
<rect key="frame" x="0.0" y="44" width="414" height="818"/>
<color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
</tableView>
</subviews>
<animations/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="uVG-bI-IMr" firstAttribute="top" secondItem="fLo-Gu-rqr" secondAttribute="bottom" id="25A-HG-wek"/>
<constraint firstItem="fLo-Gu-rqr" firstAttribute="top" secondItem="at2-Ds-EcY" secondAttribute="bottom" id="3N4-a2-LLf"/>
@@ -326,7 +312,7 @@
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="flB-2M-8zS" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1346" y="1178"/>
<point key="canvasLocation" x="1950.7246376811595" y="788.83928571428567"/>
</scene>
</scenes>
<inferredMetricsTieBreakers>
+4 -4
View File
@@ -43,7 +43,7 @@ PODS:
- XLData/RemoteDataStore (2.0.0):
- XLData/CoreRemote
- XLData/DataStore
- XLForm (4.0.1)
- XLForm (4.2.0)
DEPENDENCIES:
- AFNetworking (~> 2.0)
@@ -54,7 +54,7 @@ DEPENDENCIES:
- XLForm (from `../../`)
SPEC REPOS:
https://github.com/cocoapods/specs.git:
https://github.com/CocoaPods/Specs.git:
- AFNetworking
- AXRatingView
- JVFloatLabeledTextField
@@ -78,8 +78,8 @@ SPEC CHECKSUMS:
JVFloatLabeledTextField: 58a3a32cfb800e5b224f676987e7c13abf50a14d
SHSPhoneComponent: 4cec0653a150ad63cbc52b0c8b29ce2d3c9c26f0
XLData: df725c6179e2e0c80bf56a1ecad9afd169707a6d
XLForm: b8d47a9a00fb6166981cb40de7169d70d611e9be
XLForm: eb04ea4104f26250b70a72a7fa2eed3748dca5cd
PODFILE CHECKSUM: 64fbcd03a2c13762b2c18e3938cc8008807937c9
COCOAPODS: 1.6.0
COCOAPODS: 1.9.3
@@ -503,7 +503,7 @@
2850C5F018D0F706002B7D0A /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0940;
LastUpgradeCheck = 1100;
ORGANIZATIONNAME = Xmartlabs;
};
buildConfigurationList = 2850C5F318D0F706002B7D0A /* Build configuration list for PBXProject "XLForm" */;
@@ -511,6 +511,7 @@
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
English,
en,
);
mainGroup = 2850C5EF18D0F706002B7D0A;
@@ -644,6 +645,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
@@ -696,6 +698,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
@@ -360,7 +360,6 @@
2847A69A1AAF2679000A2ABE /* Sources */,
2847A69B1AAF2679000A2ABE /* Frameworks */,
2847A69C1AAF2679000A2ABE /* Resources */,
9BD9BF77E99A8DF4A44D2DB8 /* [CP] Embed Pods Frameworks */,
DC50100813F1902A0CFCE009 /* [CP] Copy Pods Resources */,
);
buildRules = (
@@ -380,18 +379,18 @@
attributes = {
LastSwiftMigration = 0700;
LastSwiftUpdateCheck = 0700;
LastUpgradeCheck = 0900;
LastUpgradeCheck = 1200;
ORGANIZATIONNAME = Xmartlabs;
TargetAttributes = {
2847A69D1AAF2679000A2ABE = {
CreatedOnToolsVersion = 6.2;
LastSwiftMigration = 0900;
LastSwiftMigration = 1100;
};
};
};
buildConfigurationList = 2847A6991AAF2679000A2ABE /* Build configuration list for PBXProject "SwiftExample" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
@@ -441,37 +440,22 @@
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
9BD9BF77E99A8DF4A44D2DB8 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-SwiftExample/Pods-SwiftExample-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
DC50100813F1902A0CFCE009 /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${SRCROOT}/Pods/Target Support Files/Pods-SwiftExample/Pods-SwiftExample-resources.sh",
"${PODS_ROOT}/Target Support Files/Pods-SwiftExample/Pods-SwiftExample-resources.sh",
"${PODS_ROOT}/../../../XLForm/XLForm.bundle",
);
name = "[CP] Copy Pods Resources";
outputPaths = (
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/XLForm.bundle",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-SwiftExample/Pods-SwiftExample-resources.sh\"\n";
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-SwiftExample/Pods-SwiftExample-resources.sh\"\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
@@ -518,6 +502,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
@@ -526,14 +511,17 @@
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -571,6 +559,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
@@ -579,14 +568,17 @@
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -625,7 +617,7 @@
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "SwiftExample/SwiftExample-Bridging-Header.h";
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
SWIFT_VERSION = 4.0;
SWIFT_VERSION = 5.0;
};
name = Debug;
};
@@ -641,7 +633,7 @@
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "SwiftExample/SwiftExample-Bridging-Header.h";
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
SWIFT_VERSION = 4.0;
SWIFT_VERSION = 5.0;
};
name = Release;
};
@@ -14,7 +14,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Declare custom rows
XLFormViewController.cellClassesForRowDescriptorTypes()[XLFormRowDescriptorTypeRate] = NSStringFromClass(XLFormRatingCell.self)
@@ -54,7 +54,7 @@ class FloatLabeledTextFieldCell : XLFormBaseCell, UITextFieldDelegate {
override func update() {
super.update()
if let rowDescriptor = rowDescriptor {
floatLabeledTextField.attributedPlaceholder = NSAttributedString(string: rowDescriptor.title ?? "" , attributes: [NSAttributedStringKey.foregroundColor: UIColor.lightGray])
floatLabeledTextField.attributedPlaceholder = NSAttributedString(string: rowDescriptor.title ?? "" , attributes: [NSAttributedString.Key.foregroundColor: UIColor.lightGray])
if let value = rowDescriptor.value {
floatLabeledTextField.text = (value as AnyObject).displayText()
}
@@ -88,7 +88,7 @@ class InlineSegmentedControl : XLFormBaseCell, XLFormInlineRowDescriptorCell {
var inlineRowDescriptor : XLFormRowDescriptor?
lazy var segmentedControl : UISegmentedControl = {
return UISegmentedControl.autolayoutView() as! UISegmentedControl
return UISegmentedControl.autolayout()!
}()
override func configure() {
@@ -118,7 +118,7 @@ class InlineSegmentedControl : XLFormBaseCell, XLFormInlineRowDescriptorCell {
func getItems() -> NSMutableArray {
let result = NSMutableArray()
for option in inlineRowDescriptor!.selectorOptions! {
result.add((option as AnyObject).displayText())
result.add((option as AnyObject).displayText() ?? "")
}
return result
}
@@ -135,7 +135,7 @@ class InlineSegmentedControl : XLFormBaseCell, XLFormInlineRowDescriptorCell {
if let value = formRow?.value as? NSObject {
for option in (formRow?.selectorOptions)! {
if ((option as! NSObject).valueData() as AnyObject) === (value.valueData() as AnyObject) {
return formRow?.selectorOptions?.index(where: { ($0 as! NSObject) == (option as! NSObject) } ) ?? -1
return formRow?.selectorOptions?.firstIndex(where: { ($0 as! NSObject) == (option as! NSObject) } ) ?? -1
}
}
}
@@ -110,7 +110,7 @@ class XLFormWeekDaysCell : XLFormBaseCell {
func configureButtons() {
for subview in contentView.subviews {
if let button = subview as? UIButton {
button.setImage(UIImage(named: "uncheckedDay"), for: UIControlState())
button.setImage(UIImage(named: "uncheckedDay"), for: UIControl.State())
button.setImage(UIImage(named: "checkedDay"), for: .selected)
button.adjustsImageWhenHighlighted = false
imageTopTitleBottom(button)
@@ -120,7 +120,7 @@ class XLFormWeekDaysCell : XLFormBaseCell {
}
func updateButtons() {
var value = rowDescriptor!.value as! Dictionary<String, Bool>
let value = rowDescriptor!.value as! Dictionary<String, Bool>
sundayButton.isSelected = value[kWeekDay.sunday.description()]!
mondayButton.isSelected = value[kWeekDay.monday.description()]!
@@ -150,8 +150,8 @@ class XLFormWeekDaysCell : XLFormBaseCell {
// raise the image and push it right so it appears centered
// above the text
let titleSize : CGSize = (button.titleLabel!.text! as NSString).size(withAttributes: [NSAttributedStringKey.font: button.titleLabel!.font])
button.imageEdgeInsets = UIEdgeInsetsMake(-(titleSize.height + spacing), 0.0, 0.0, -titleSize.width)
let titleSize : CGSize = (button.titleLabel!.text! as NSString).size(withAttributes: [NSAttributedString.Key.font: button.titleLabel!.font as Any])
button.imageEdgeInsets = UIEdgeInsets.init(top: -(titleSize.height + spacing), left: 0.0, bottom: 0.0, right: -titleSize.width)
}
func getDayFormButton(_ button: UIButton) -> String {
@@ -42,7 +42,7 @@ class MapViewController : UIViewController, XLFormRowDescriptorViewController, M
var rowDescriptor: XLFormRowDescriptor?
lazy var mapView : MKMapView = { [unowned self] in
let mapView = MKMapView(frame: self.view.frame)
mapView.autoresizingMask = [UIViewAutoresizing.flexibleHeight, UIViewAutoresizing.flexibleWidth]
mapView.autoresizingMask = [UIView.AutoresizingMask.flexibleHeight, UIView.AutoresizingMask.flexibleWidth]
return mapView
}()
@@ -73,14 +73,14 @@ class MapViewController : UIViewController, XLFormRowDescriptorViewController, M
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
let pinAnnotationView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: "annotation")
pinAnnotationView.pinColor = MKPinAnnotationColor.red
pinAnnotationView.pinTintColor = .red
pinAnnotationView.isDraggable = true
pinAnnotationView.animatesDrop = true
return pinAnnotationView
}
func mapView(_ mapView: MKMapView, annotationView view: MKAnnotationView, didChange newState: MKAnnotationViewDragState, fromOldState oldState: MKAnnotationViewDragState) {
func mapView(_ mapView: MKMapView, annotationView view: MKAnnotationView, didChange newState: MKAnnotationView.DragState, fromOldState oldState: MKAnnotationView.DragState) {
if (newState == .ending){
if let rowDescriptor = rowDescriptor, let annotation = view.annotation {
rowDescriptor.value = CLLocation(latitude:annotation.coordinate.latitude, longitude:annotation.coordinate.longitude)
@@ -141,7 +141,7 @@ class DatesFormViewController: XLFormViewController {
// DatePicker
row = XLFormRowDescriptor(tag: Tags.DatePicker, rowType:XLFormRowDescriptorTypeDatePicker)
row.cellConfigAtConfigure["datePicker.datePickerMode"] = UIDatePickerMode.date.rawValue
row.cellConfigAtConfigure["datePicker.datePickerMode"] = UIDatePicker.Mode.date.rawValue
row.value = Date()
section.addFormRow(row)
@@ -42,7 +42,7 @@ class UserCell : UITableViewCell {
return tempUserName
}()
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
// Initialization code
@@ -67,7 +67,7 @@ class UserCell : UITableViewCell {
let metrics = [ "imgSize": 50.0, "margin": 12.0]
var result = NSLayoutConstraint.constraints(withVisualFormat: "H:|-(margin)-[image(imgSize)]-[name]", options:.alignAllTop, metrics: metrics, views: views)
result += NSLayoutConstraint.constraints(withVisualFormat: "V:|-(margin)-[image(imgSize)]", options:NSLayoutFormatOptions(), metrics:metrics, views: views)
result += NSLayoutConstraint.constraints(withVisualFormat: "V:|-(margin)-[image(imgSize)]", options:NSLayoutConstraint.FormatOptions(), metrics:metrics, views: views)
return result
}
@@ -138,7 +138,7 @@ class UsersTableViewController : UITableViewController, XLFormRowDescriptorViewC
fileprivate let kUserCellIdentifier = "UserCell"
override init(style: UITableViewStyle) {
override init(style: UITableView.Style) {
super.init(style: style);
}
@@ -27,7 +27,7 @@ let XLFormRowDescriptorTypeCustom = "XLFormRowDescriptorTypeCustom"
class XLFormCustomCell : XLFormBaseCell {
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
}
@@ -122,7 +122,7 @@ class OthersFormViewController : XLFormViewController {
row = XLFormRowDescriptor(tag: Tags.ButtonLeftAligned, rowType: XLFormRowDescriptorTypeButton, title: "Button with Block")
row.cellConfig["textLabel.textColor"] = UIColor(red: 0.0, green: 122.0/255.0, blue: 1.0, alpha: 1.0)
row.cellConfig["textLabel.textAlignment"] = NSTextAlignment.left.rawValue
row.cellConfig["accessoryType"] = UITableViewCellAccessoryType.disclosureIndicator.rawValue
row.cellConfig["accessoryType"] = UITableViewCell.AccessoryType.disclosureIndicator.rawValue
row.action.formBlock = { [weak self] (sender: XLFormRowDescriptor!) -> Void in
let switchRow = sender.sectionDescriptor.formDescriptor!.formRow(withTag: Tags.SwitchBool)!
if let value = switchRow.value , (value as AnyObject).boolValue == true {
@@ -82,12 +82,12 @@ class NativeEventFormViewController : XLFormViewController {
row = XLFormRowDescriptor(tag: "repeat", rowType:XLFormRowDescriptorTypeSelectorPush, title:"Repeat")
row.value = XLFormOptionsObject(value: 0, displayText: "Never")
row.selectorTitle = "Repeat"
row.selectorOptions = [XLFormOptionsObject(value: 0, displayText: "Never"),
XLFormOptionsObject(value: 1, displayText: "Every Day"),
XLFormOptionsObject(value: 2, displayText: "Every Week"),
XLFormOptionsObject(value: 3, displayText: "Every 2 Weeks"),
XLFormOptionsObject(value: 4, displayText: "Every Month"),
XLFormOptionsObject(value: 5, displayText: "Every Year")]
row.selectorOptions = [XLFormOptionsObject(value: 0, displayText: "Never")!,
XLFormOptionsObject(value: 1, displayText: "Every Day")!,
XLFormOptionsObject(value: 2, displayText: "Every Week")!,
XLFormOptionsObject(value: 3, displayText: "Every 2 Weeks")!,
XLFormOptionsObject(value: 4, displayText: "Every Month")!,
XLFormOptionsObject(value: 5, displayText: "Every Year")!]
section.addFormRow(row)
section = XLFormSectionDescriptor.formSection()
@@ -98,15 +98,15 @@ class NativeEventFormViewController : XLFormViewController {
row.value = XLFormOptionsObject(value: 0, displayText: "None")
row.selectorTitle = "Event Alert"
row.selectorOptions = [
XLFormOptionsObject(value: 0, displayText: "None"),
XLFormOptionsObject(value: 1, displayText: "At time of event"),
XLFormOptionsObject(value: 2, displayText: "5 minutes before"),
XLFormOptionsObject(value: 3, displayText: "15 minutes before"),
XLFormOptionsObject(value: 4, displayText: "30 minutes before"),
XLFormOptionsObject(value: 5, displayText: "1 hour before"),
XLFormOptionsObject(value: 6, displayText: "2 hours before"),
XLFormOptionsObject(value: 7, displayText: "1 day before"),
XLFormOptionsObject(value: 8, displayText: "2 days before")]
XLFormOptionsObject(value: 0, displayText: "None")!,
XLFormOptionsObject(value: 1, displayText: "At time of event")!,
XLFormOptionsObject(value: 2, displayText: "5 minutes before")!,
XLFormOptionsObject(value: 3, displayText: "15 minutes before")!,
XLFormOptionsObject(value: 4, displayText: "30 minutes before")!,
XLFormOptionsObject(value: 5, displayText: "1 hour before")!,
XLFormOptionsObject(value: 6, displayText: "2 hours before")!,
XLFormOptionsObject(value: 7, displayText: "1 day before")!,
XLFormOptionsObject(value: 8, displayText: "2 days before")!]
section.addFormRow(row)
@@ -117,8 +117,8 @@ class NativeEventFormViewController : XLFormViewController {
row = XLFormRowDescriptor(tag: "showAs", rowType:XLFormRowDescriptorTypeSelectorPush, title:"Show As")
row.value = XLFormOptionsObject(value: 0, displayText: "Busy")
row.selectorTitle = "Show As"
row.selectorOptions = [XLFormOptionsObject(value: 0, displayText:"Busy"),
XLFormOptionsObject(value: 1, displayText:"Free")]
row.selectorOptions = [XLFormOptionsObject(value: 0, displayText:"Busy")!,
XLFormOptionsObject(value: 1, displayText:"Free")!]
section.addFormRow(row)
section = XLFormSectionDescriptor.formSection()
@@ -197,7 +197,7 @@ class NativeEventFormViewController : XLFormViewController {
// startDateDescriptor is later than endDateDescriptor
dateEndCell.update()
let newDetailText = dateEndCell.detailTextLabel!.text!
let strikeThroughAttribute = [NSAttributedStringKey.strikethroughStyle : NSUnderlineStyle.styleSingle.rawValue]
let strikeThroughAttribute = [NSAttributedString.Key.strikethroughStyle : NSUnderlineStyle.single.rawValue]
let strikeThroughText = NSAttributedString(string: newDetailText, attributes: strikeThroughAttribute)
endDateDescriptor.cellConfig["detailTextLabel.attributedText"] = strikeThroughText
updateFormRow(endDateDescriptor)
@@ -129,11 +129,11 @@ class SelectorsFormViewController : XLFormViewController {
// Selector Push
row = XLFormRowDescriptor(tag: Tags.Push, rowType:XLFormRowDescriptorTypeSelectorPush, title:"Push")
row.selectorOptions = [XLFormOptionsObject(value: 0, displayText: "Option 1"),
XLFormOptionsObject(value: 1, displayText:"Option 2"),
XLFormOptionsObject(value: 2, displayText:"Option 3"),
XLFormOptionsObject(value: 3, displayText:"Option 4"),
XLFormOptionsObject(value: 4, displayText:"Option 5")
row.selectorOptions = [XLFormOptionsObject(value: 0, displayText: "Option 1")!,
XLFormOptionsObject(value: 1, displayText:"Option 2")!,
XLFormOptionsObject(value: 2, displayText:"Option 3")!,
XLFormOptionsObject(value: 3, displayText:"Option 4")!,
XLFormOptionsObject(value: 4, displayText:"Option 5")!
]
row.value = XLFormOptionsObject(value: 1, displayText:"Option 2")
section.addFormRow(row)
@@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="9531" systemVersion="14F1021" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" initialViewController="p4n-1v-pzo">
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14865.1" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" colorMatched="YES" initialViewController="p4n-1v-pzo">
<device id="retina6_1" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9529"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14819.2"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--Navigation Controller-->
@@ -11,7 +13,7 @@
<navigationController automaticallyAdjustsScrollViewInsets="NO" id="p4n-1v-pzo" sceneMemberID="viewController">
<toolbarItems/>
<navigationBar key="navigationBar" contentMode="scaleToFill" id="SNt-hk-N3V">
<rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
<rect key="frame" x="0.0" y="44" width="414" height="44"/>
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<nil name="viewControllers"/>
@@ -21,7 +23,7 @@
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="jqF-cF-u4f" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="117" y="56"/>
<point key="canvasLocation" x="-107" y="43"/>
</scene>
<!--Others Form View Controller-->
<scene sceneID="dyJ-7m-RaD">
@@ -32,9 +34,9 @@
<viewControllerLayoutGuide type="bottom" id="HPb-Nx-E1G"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="wpr-wE-9nj">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</view>
<navigationItem key="navigationItem" id="Hf0-cB-ORN"/>
<connections>
@@ -43,7 +45,7 @@
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="7YZ-ZR-X81" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1533" y="-233"/>
<point key="canvasLocation" x="2221.739130434783" y="-156.02678571428569"/>
</scene>
<!--Native Event Form View Controller-->
<scene sceneID="EjT-rm-U3h">
@@ -54,15 +56,15 @@
<viewControllerLayoutGuide type="bottom" id="QuR-kY-o5R"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="tun-QW-CGC">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="842"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" separatorStyle="default" rowHeight="44" sectionHeaderHeight="10" sectionFooterHeight="10" translatesAutoresizingMaskIntoConstraints="NO" id="JY7-WL-SnH">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<color key="backgroundColor" red="0.93725490196078431" green="0.93725490196078431" blue="0.95686274509803926" alpha="1" colorSpace="calibratedRGB"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="808"/>
<color key="backgroundColor" red="0.93725490196078431" green="0.93725490196078431" blue="0.95686274509803926" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</tableView>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="JY7-WL-SnH" firstAttribute="leading" secondItem="tun-QW-CGC" secondAttribute="leading" id="bSe-SV-rx6"/>
<constraint firstAttribute="trailing" secondItem="JY7-WL-SnH" secondAttribute="trailing" id="jLI-68-pSq"/>
@@ -77,7 +79,7 @@
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="zV0-mq-irv" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1120" y="-635"/>
<point key="canvasLocation" x="1623.1884057971015" y="-425.22321428571428"/>
</scene>
<!--Examples-->
<scene sceneID="wf7-ha-lXx">
@@ -88,20 +90,20 @@
<viewControllerLayoutGuide type="bottom" id="0bE-2H-tqE"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="PO9-pF-A7O">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" separatorStyle="default" rowHeight="44" sectionHeaderHeight="10" sectionFooterHeight="10" translatesAutoresizingMaskIntoConstraints="NO" id="Lxj-Sb-kC6">
<rect key="frame" x="0.0" y="64" width="320" height="504"/>
<color key="backgroundColor" red="0.93725490196078431" green="0.93725490196078431" blue="0.95686274509803926" alpha="1" colorSpace="calibratedRGB"/>
<rect key="frame" x="0.0" y="88" width="414" height="774"/>
<color key="backgroundColor" red="0.93725490196078431" green="0.93725490196078431" blue="0.95686274509803926" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</tableView>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="Lxj-Sb-kC6" firstAttribute="top" secondItem="kOR-67-djF" secondAttribute="bottom" id="PT1-Xo-3Ql"/>
<constraint firstItem="Lxj-Sb-kC6" firstAttribute="top" secondItem="kOR-67-djF" secondAttribute="bottom" id="R5O-as-LEG"/>
<constraint firstAttribute="trailing" secondItem="Lxj-Sb-kC6" secondAttribute="trailing" id="brq-yF-WM8"/>
<constraint firstItem="Lxj-Sb-kC6" firstAttribute="leading" secondItem="PO9-pF-A7O" secondAttribute="leading" id="d73-kq-kX4"/>
<constraint firstItem="0bE-2H-tqE" firstAttribute="top" secondItem="Lxj-Sb-kC6" secondAttribute="bottom" id="ltM-g9-Dgm"/>
<constraint firstItem="0bE-2H-tqE" firstAttribute="top" secondItem="Lxj-Sb-kC6" secondAttribute="bottom" id="dMl-nD-Jm5"/>
</constraints>
</view>
<navigationItem key="navigationItem" title="Examples" id="sEr-D1-cU5"/>
@@ -118,7 +120,7 @@
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="1V5-DZ-WfF" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="527" y="56"/>
<point key="canvasLocation" x="763.768115942029" y="37.5"/>
</scene>
<!--Blog Example View Controller-->
<scene sceneID="Vn0-9y-5bc">
@@ -129,15 +131,15 @@
<viewControllerLayoutGuide type="bottom" id="scM-da-Sg0"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="hrV-fb-58s">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</view>
<navigationItem key="navigationItem" id="RJB-cz-SnF"/>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="Fvo-wr-5Ca" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="167" y="1151"/>
<point key="canvasLocation" x="242.0289855072464" y="770.75892857142856"/>
</scene>
<!--Validation Examples-->
<scene sceneID="z2I-Nk-y9W">
@@ -148,15 +150,15 @@
<viewControllerLayoutGuide type="bottom" id="xtJ-Wo-mhU"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="1Ol-Ra-Ysg">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" separatorStyle="default" rowHeight="44" sectionHeaderHeight="10" sectionFooterHeight="10" translatesAutoresizingMaskIntoConstraints="NO" id="Fty-3j-BeF">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<color key="backgroundColor" red="0.93725490196078431" green="0.93725490196078431" blue="0.95686274509803926" alpha="1" colorSpace="calibratedRGB"/>
<rect key="frame" x="0.0" y="24" width="414" height="838"/>
<color key="backgroundColor" red="0.93725490196078431" green="0.93725490196078431" blue="0.95686274509803926" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</tableView>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="xtJ-Wo-mhU" firstAttribute="top" secondItem="Fty-3j-BeF" secondAttribute="bottom" id="CbV-4f-RzP"/>
<constraint firstItem="Fty-3j-BeF" firstAttribute="top" secondItem="AG9-N9-2qp" secondAttribute="bottom" constant="-64" id="Pdw-VG-qcc"/>
@@ -173,7 +175,7 @@
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="VFT-Og-STO" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="566" y="938"/>
<point key="canvasLocation" x="820.28985507246387" y="628.125"/>
</scene>
<!--Predicate Form View Controller-->
<scene sceneID="a9p-C8-g8y">
@@ -184,15 +186,15 @@
<viewControllerLayoutGuide type="bottom" id="Lsg-dH-McH"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="6EZ-O7-FjX">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</view>
<navigationItem key="navigationItem" id="Lsd-xH-7IN"/>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="rZL-10-YZn" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="956" y="924"/>
<point key="canvasLocation" x="1385.5072463768117" y="618.75"/>
</scene>
<!--Selectors Form View Controller-->
<scene sceneID="KYK-TX-8rm">
@@ -203,9 +205,9 @@
<viewControllerLayoutGuide type="bottom" id="CTu-Y5-7Qw"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="bNj-SD-83w">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</view>
<navigationItem key="navigationItem" id="Buo-Af-6Q1"/>
<connections>
@@ -214,7 +216,7 @@
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="8fu-YK-6qz" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1346" y="533"/>
<point key="canvasLocation" x="1950.7246376811595" y="356.91964285714283"/>
</scene>
<!--Map View Controller-->
<scene sceneID="tAS-lK-35t">
@@ -225,15 +227,15 @@
<viewControllerLayoutGuide type="bottom" id="cgQ-Vs-ICN"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="JjC-E5-SyY">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</view>
<navigationItem key="navigationItem" id="BjG-Bq-0lD"/>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="LmS-YR-mFY" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1789" y="533"/>
<point key="canvasLocation" x="2592.753623188406" y="356.91964285714283"/>
</scene>
<!--Native Event Navigation View Controller-->
<scene sceneID="mNb-be-ApA">
@@ -241,7 +243,7 @@
<navigationController automaticallyAdjustsScrollViewInsets="NO" id="K9D-4c-9eZ" customClass="NativeEventNavigationViewController" customModule="SwiftExample" customModuleProvider="target" sceneMemberID="viewController">
<toolbarItems/>
<navigationBar key="navigationBar" contentMode="scaleToFill" id="fO3-V7-XXu">
<rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="56"/>
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<nil name="viewControllers"/>
@@ -251,7 +253,7 @@
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="eqB-vl-BzH" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="588" y="-635"/>
<point key="canvasLocation" x="852.17391304347836" y="-425.22321428571428"/>
</scene>
<!--Basic Predicate View Controller-->
<scene sceneID="pD4-sm-x3a">
@@ -262,15 +264,15 @@
<viewControllerLayoutGuide type="bottom" id="2b4-gN-85p"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="NZg-t1-g19">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</view>
<navigationItem key="navigationItem" id="1lh-jZ-lIV"/>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="Tlw-q2-pcu" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-159" y="1151"/>
<point key="canvasLocation" x="-230.43478260869566" y="770.75892857142856"/>
</scene>
</scenes>
<inferredMetricsTieBreakers>
@@ -150,7 +150,7 @@ class ValidationExamplesFormViewController : XLFormViewController {
animation.values = [0, 20, -20, 10, 0]
animation.keyTimes = [0, NSNumber(value: 1 / 6.0), NSNumber(value: 3 / 6.0), NSNumber(value: 5 / 6.0), 1]
animation.duration = 0.3
animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseOut)
animation.timingFunction = CAMediaTimingFunction(name: CAMediaTimingFunctionName.easeOut)
animation.isAdditive = true
cell.layer.add(animation, forKey: "shake")
}
+21
View File
@@ -0,0 +1,21 @@
// swift-tools-version:5.2
import PackageDescription
let package = Package(
name: "XLForm",
platforms: [
.iOS(.v9)
],
products: [
.library(name: "XLForm", targets: ["XLForm"])
],
dependencies: [],
targets: [
.target(
name: "XLForm",
dependencies: [],
path: "XLForm",
publicHeadersPath: "XL"
)
]
)
+32 -10
View File
@@ -156,7 +156,7 @@ A form definition is a `XLFormDescriptor` instance that contains one or more sec
row = [XLFormRowDescriptor formRowDescriptorWithTag:@"starts" rowType:XLFormRowDescriptorTypeDateTimeInline title:@"Starts"];
row.value = [NSDate dateWithTimeIntervalSinceNow:60*60*24];
[section addFormRow:row];
self.form = form;
}
```
@@ -494,7 +494,7 @@ Set `steps` to `@(0)` to disable the steps functionality.
##### Info
Sometimes our apps needs to show data that are not editable. XLForm provides us with `XLFormRowDescriptorTypeInfo` row type to display not editable info. An example of usage would be showing the app version in the settings part of an app.
Sometimes our apps needs to show data that are not editable. XLForm provides us with `XLFormRowDescriptorTypeInfo` row type to display not editable info. An example of usage would be showing the app version in the settings part of an app.
##### Button
@@ -504,7 +504,7 @@ Apart from data entry rows, not editable rows and selectors, XLForm has a button
Multivalued Sections (Insert, Delete, Reorder rows)
------------------------
Any `XLFormSectionDescriptor` object can be set up to support row insertion, deletion or reodering. It is possible to enable only one of these modes, a combination or all together.
Any `XLFormSectionDescriptor` object can be set up to support row insertion, deletion or reodering. It is possible to enable only one of these modes, a combination or all together.
A multivalued section is just a section that support either of these modes.
The most interesting part of multivalued `XLFormSectionDescriptor` is that it supports all the types of rows that were shown on the [*Rows*](#rows "Rows") section as well as custom rows.
@@ -668,7 +668,7 @@ row.action.viewControllerClass = [MapViewController class];
// or
//row.action.viewControllerNibName = @"MapViewControllerNibName";
// Set up a NSValueTransformer to convert CLLocation to NSString, it's used to show the select value description (text).
// Set up a NSValueTransformer to convert CLLocation to NSString, it's used to show the select value description (text).
row.valueTransformer = [CLLocationValueTrasformer class];
// Set up the default value
row.value = [[CLLocation alloc] initWithLatitude:-33 longitude:-56];
@@ -692,7 +692,7 @@ XLForm sets up `rowDescriptor` property using the `XLFormRowDescriptor` instance
The developer is responsible for update its views with the `rowDescriptor` value as well as set the selected value to `rowDescriptor` from within the custom selector view controller.
> Note: the properties `viewControllerClass`, `viewControllerNibName` or `viewControllerStoryboardId` are mutually exclusive and are used by `XLFormButtonCell` and `XLFormSelectorCell`. If you create a custom cell then you are responsible for using them.
> Note: the properties `viewControllerClass`, `viewControllerNibName` or `viewControllerStoryboardId` are mutually exclusive and are used by `XLFormButtonCell` and `XLFormSelectorCell`. If you create a custom cell then you are responsible for using them.
#### Another example
@@ -1100,10 +1100,10 @@ This is how you can set them:
#### How to change the height of one cell
If you want to change the height for all cells of one class you should subclass that cell and override the class method `formDescriptorCellHeightForRowDescriptor`.
If you want to change the height for all cells of one class you should subclass that cell and override the class method `formDescriptorCellHeightForRowDescriptor`.
If you want to change the height of one individual cell then you can set that height to the `height` property of XLFormRowDescripto like this:
```
XLFormRowDescriptor* row = ...
XLFormRowDescriptor* row = ...
row.height = 55;
```
@@ -1125,10 +1125,32 @@ You can make this happen using the `textFieldMaxNumberOfCharacters` and the `tex
Installation
--------------------------
## Swift Package Manager
Starting with Xcode 11, Swift Package Manager is the recommended and preferred way for installing dependencies in Xcode projects. Installing dependencies via SwiftPM does not require the application nor dependencies to be written in Swift.
To add XLForm to your project using SwiftPM follow these steps:
1. Open your project in Xcode
1. In the main menu, select File -> Swift Packages -> Add Package Dependency...
1. In the window, enter the package url https://github.com/xmartlabs/XLForm
1. Configure the version to be used
To use XLForm in your code, import the module or header files as needed:
```objc
#import "XLForm.h" // Obj-c
```
```swift
import XLForm // Swift
```
## CocoaPods
1. Add the following line in the project's Podfile file:
`pod 'XLForm', '~> 4.0'`.
`pod 'XLForm', '~> 4.2'`.
2. Run the command `pod install` from the Podfile folder directory.
XLForm **has no** dependencies over other pods.
@@ -1158,7 +1180,7 @@ For further details on how to create and configure the bridging header file visi
In your `Cartfile` add:
```
github "xmartlabs/XLForm" ~> 4.0
github "xmartlabs/XLForm" ~> 4.2
```
## Using git submodules
@@ -1182,7 +1204,7 @@ Requirements
* ARC
* iOS 9.0 and above
* XCode 9.0+
* Xcode 9.0+ (11.0+ for installation via Swift Package Manager)
Release Notes
+2 -2
View File
@@ -3,7 +3,7 @@ include FileUtils::Verbose
namespace :test do
desc "Run the XLForm Tests"
task :ios do
run_tests('XLForm Tests', 'iphonesimulator12.2')
run_tests('XLForm Tests', 'iphonesimulator')
tests_failed unless $?.success?
end
end
@@ -17,7 +17,7 @@ task :default => 'test'
private
def run_tests(scheme, sdk)
sh("xcodebuild -workspace 'Tests/XLForm Tests.xcworkspace' -scheme '#{scheme}' -sdk '#{sdk}' -destination 'OS=12.2,name=iPhone 8' -configuration Release clean test | xcpretty -c ; exit ${PIPESTATUS[0]}") rescue nil
sh("xcodebuild -workspace 'Tests/XLForm Tests.xcworkspace' -scheme '#{scheme}' -sdk '#{sdk}' -destination 'OS=14.0,name=iPhone 11' -configuration Release clean test | xcpretty -c ; exit ${PIPESTATUS[0]}") rescue nil
end
def tests_failed
+1 -1
View File
@@ -1,4 +1,4 @@
source 'https://github.com/CocoaPods/Specs.git'
source 'https://cdn.cocoapods.org/'
project 'XLForm Tests'
inhibit_all_warnings!
+1 -1
View File
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'XLForm'
s.version = '4.0.1'
s.version = '4.2.0'
s.license = { :type => 'MIT' }
s.summary = 'XLForm is the most flexible and powerful iOS library to create dynamic table-view forms.'
s.description = <<-DESC
+310 -306
View File
@@ -7,164 +7,164 @@
objects = {
/* Begin PBXBuildFile section */
6442F6501C1FC3AA00C9152F /* XLFormImageCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 6442F64E1C1FC3AA00C9152F /* XLFormImageCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
6442F6511C1FC3AA00C9152F /* XLFormImageCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 6442F64F1C1FC3AA00C9152F /* XLFormImageCell.m */; };
E267FD7C1BE804E200F86B42 /* XLFormBaseCell.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD2C1BE804E200F86B42 /* XLFormBaseCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FD7D1BE804E200F86B42 /* XLFormBaseCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD2D1BE804E200F86B42 /* XLFormBaseCell.m */; };
E267FD7E1BE804E200F86B42 /* XLFormButtonCell.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD2E1BE804E200F86B42 /* XLFormButtonCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FD7F1BE804E200F86B42 /* XLFormButtonCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD2F1BE804E200F86B42 /* XLFormButtonCell.m */; };
E267FD801BE804E200F86B42 /* XLFormCheckCell.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD301BE804E200F86B42 /* XLFormCheckCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FD811BE804E200F86B42 /* XLFormCheckCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD311BE804E200F86B42 /* XLFormCheckCell.m */; };
E267FD821BE804E200F86B42 /* XLFormDateCell.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD321BE804E200F86B42 /* XLFormDateCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FD831BE804E200F86B42 /* XLFormDateCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD331BE804E200F86B42 /* XLFormDateCell.m */; };
E267FD841BE804E200F86B42 /* XLFormDatePickerCell.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD341BE804E200F86B42 /* XLFormDatePickerCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FD851BE804E200F86B42 /* XLFormDatePickerCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD351BE804E200F86B42 /* XLFormDatePickerCell.m */; };
E267FD861BE804E200F86B42 /* XLFormDescriptorCell.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD361BE804E200F86B42 /* XLFormDescriptorCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FD871BE804E200F86B42 /* XLFormInlineRowDescriptorCell.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD371BE804E200F86B42 /* XLFormInlineRowDescriptorCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FD881BE804E200F86B42 /* XLFormInlineSelectorCell.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD381BE804E200F86B42 /* XLFormInlineSelectorCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FD891BE804E200F86B42 /* XLFormInlineSelectorCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD391BE804E200F86B42 /* XLFormInlineSelectorCell.m */; };
E267FD8A1BE804E200F86B42 /* XLFormLeftRightSelectorCell.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD3A1BE804E200F86B42 /* XLFormLeftRightSelectorCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FD8B1BE804E200F86B42 /* XLFormLeftRightSelectorCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD3B1BE804E200F86B42 /* XLFormLeftRightSelectorCell.m */; };
E267FD8C1BE804E200F86B42 /* XLFormPickerCell.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD3C1BE804E200F86B42 /* XLFormPickerCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FD8D1BE804E200F86B42 /* XLFormPickerCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD3D1BE804E200F86B42 /* XLFormPickerCell.m */; };
E267FD8E1BE804E200F86B42 /* XLFormSegmentedCell.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD3E1BE804E200F86B42 /* XLFormSegmentedCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FD8F1BE804E200F86B42 /* XLFormSegmentedCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD3F1BE804E200F86B42 /* XLFormSegmentedCell.m */; };
E267FD901BE804E200F86B42 /* XLFormSelectorCell.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD401BE804E200F86B42 /* XLFormSelectorCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FD911BE804E200F86B42 /* XLFormSelectorCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD411BE804E200F86B42 /* XLFormSelectorCell.m */; };
E267FD921BE804E200F86B42 /* XLFormSliderCell.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD421BE804E200F86B42 /* XLFormSliderCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FD931BE804E200F86B42 /* XLFormSliderCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD431BE804E200F86B42 /* XLFormSliderCell.m */; };
E267FD941BE804E200F86B42 /* XLFormStepCounterCell.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD441BE804E200F86B42 /* XLFormStepCounterCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FD951BE804E200F86B42 /* XLFormStepCounterCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD451BE804E200F86B42 /* XLFormStepCounterCell.m */; };
E267FD961BE804E200F86B42 /* XLFormSwitchCell.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD461BE804E200F86B42 /* XLFormSwitchCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FD971BE804E200F86B42 /* XLFormSwitchCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD471BE804E200F86B42 /* XLFormSwitchCell.m */; };
E267FD981BE804E200F86B42 /* XLFormTextFieldCell.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD481BE804E200F86B42 /* XLFormTextFieldCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FD991BE804E200F86B42 /* XLFormTextFieldCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD491BE804E200F86B42 /* XLFormTextFieldCell.m */; };
E267FD9A1BE804E200F86B42 /* XLFormTextViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD4A1BE804E200F86B42 /* XLFormTextViewCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FD9B1BE804E200F86B42 /* XLFormTextViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD4B1BE804E200F86B42 /* XLFormTextViewCell.m */; };
E267FD9C1BE804E200F86B42 /* XLFormOptionsObject.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD4D1BE804E200F86B42 /* XLFormOptionsObject.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FD9D1BE804E200F86B42 /* XLFormOptionsObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD4E1BE804E200F86B42 /* XLFormOptionsObject.m */; };
E267FD9E1BE804E200F86B42 /* XLFormOptionsViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD4F1BE804E200F86B42 /* XLFormOptionsViewController.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FD9F1BE804E200F86B42 /* XLFormOptionsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD501BE804E200F86B42 /* XLFormOptionsViewController.m */; };
E267FDA01BE804E200F86B42 /* XLFormRowDescriptorViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD511BE804E200F86B42 /* XLFormRowDescriptorViewController.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FDA11BE804E200F86B42 /* XLFormViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD521BE804E200F86B42 /* XLFormViewController.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FDA21BE804E200F86B42 /* XLFormViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD531BE804E200F86B42 /* XLFormViewController.m */; };
E267FDA31BE804E200F86B42 /* XLFormDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD551BE804E200F86B42 /* XLFormDescriptor.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FDA41BE804E200F86B42 /* XLFormDescriptor.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD561BE804E200F86B42 /* XLFormDescriptor.m */; };
E267FDA51BE804E200F86B42 /* XLFormDescriptorDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD571BE804E200F86B42 /* XLFormDescriptorDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FDA61BE804E200F86B42 /* XLFormRowDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD581BE804E200F86B42 /* XLFormRowDescriptor.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FDA71BE804E200F86B42 /* XLFormRowDescriptor.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD591BE804E200F86B42 /* XLFormRowDescriptor.m */; };
E267FDA81BE804E200F86B42 /* XLFormSectionDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD5A1BE804E200F86B42 /* XLFormSectionDescriptor.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FDA91BE804E200F86B42 /* XLFormSectionDescriptor.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD5B1BE804E200F86B42 /* XLFormSectionDescriptor.m */; };
E267FDAA1BE804E200F86B42 /* NSArray+XLFormAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD5D1BE804E200F86B42 /* NSArray+XLFormAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FDAB1BE804E200F86B42 /* NSArray+XLFormAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD5E1BE804E200F86B42 /* NSArray+XLFormAdditions.m */; };
E267FDAC1BE804E200F86B42 /* NSExpression+XLFormAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD5F1BE804E200F86B42 /* NSExpression+XLFormAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FDAD1BE804E200F86B42 /* NSExpression+XLFormAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD601BE804E200F86B42 /* NSExpression+XLFormAdditions.m */; };
E267FDAE1BE804E200F86B42 /* NSObject+XLFormAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD611BE804E200F86B42 /* NSObject+XLFormAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FDAF1BE804E200F86B42 /* NSObject+XLFormAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD621BE804E200F86B42 /* NSObject+XLFormAdditions.m */; };
E267FDB01BE804E200F86B42 /* NSPredicate+XLFormAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD631BE804E200F86B42 /* NSPredicate+XLFormAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FDB11BE804E200F86B42 /* NSPredicate+XLFormAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD641BE804E200F86B42 /* NSPredicate+XLFormAdditions.m */; };
E267FDB21BE804E200F86B42 /* NSString+XLFormAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD651BE804E200F86B42 /* NSString+XLFormAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FDB31BE804E200F86B42 /* NSString+XLFormAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD661BE804E200F86B42 /* NSString+XLFormAdditions.m */; };
E267FDB41BE804E200F86B42 /* UIView+XLFormAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD671BE804E200F86B42 /* UIView+XLFormAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FDB51BE804E200F86B42 /* UIView+XLFormAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD681BE804E200F86B42 /* UIView+XLFormAdditions.m */; };
E267FDB61BE804E200F86B42 /* XLFormRightDetailCell.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD6A1BE804E200F86B42 /* XLFormRightDetailCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FDB71BE804E200F86B42 /* XLFormRightDetailCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD6B1BE804E200F86B42 /* XLFormRightDetailCell.m */; };
E267FDB81BE804E200F86B42 /* XLFormRightImageButton.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD6C1BE804E200F86B42 /* XLFormRightImageButton.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FDB91BE804E200F86B42 /* XLFormRightImageButton.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD6D1BE804E200F86B42 /* XLFormRightImageButton.m */; };
E267FDBA1BE804E200F86B42 /* XLFormRowNavigationAccessoryView.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD6E1BE804E200F86B42 /* XLFormRowNavigationAccessoryView.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FDBB1BE804E200F86B42 /* XLFormRowNavigationAccessoryView.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD6F1BE804E200F86B42 /* XLFormRowNavigationAccessoryView.m */; };
E267FDBC1BE804E200F86B42 /* XLFormTextView.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD701BE804E200F86B42 /* XLFormTextView.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FDBD1BE804E200F86B42 /* XLFormTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD711BE804E200F86B42 /* XLFormTextView.m */; };
E267FDBE1BE804E200F86B42 /* XLFormRegexValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD731BE804E200F86B42 /* XLFormRegexValidator.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FDBF1BE804E200F86B42 /* XLFormRegexValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD741BE804E200F86B42 /* XLFormRegexValidator.m */; };
E267FDC01BE804E200F86B42 /* XLFormValidationStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD751BE804E200F86B42 /* XLFormValidationStatus.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FDC11BE804E200F86B42 /* XLFormValidationStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD761BE804E200F86B42 /* XLFormValidationStatus.m */; };
E267FDC21BE804E200F86B42 /* XLFormValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD771BE804E200F86B42 /* XLFormValidator.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FDC31BE804E200F86B42 /* XLFormValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD781BE804E200F86B42 /* XLFormValidator.m */; };
E267FDC41BE804E200F86B42 /* XLFormValidatorProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD791BE804E200F86B42 /* XLFormValidatorProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C2695192513CEFF0059594E /* XLFormBaseCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C2695072513CEFC0059594E /* XLFormBaseCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C26951A2513CEFF0059594E /* XLFormCheckCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C2695082513CEFC0059594E /* XLFormCheckCell.m */; };
9C26951B2513CEFF0059594E /* XLFormDatePickerCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C2695092513CEFC0059594E /* XLFormDatePickerCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C26951C2513CEFF0059594E /* XLFormButtonCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C26950A2513CEFC0059594E /* XLFormButtonCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C26951D2513CEFF0059594E /* XLFormButtonCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C26950B2513CEFC0059594E /* XLFormButtonCell.m */; };
9C26951E2513CEFF0059594E /* XLFormInlineSelectorCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C26950C2513CEFC0059594E /* XLFormInlineSelectorCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C26951F2513CEFF0059594E /* XLFormDatePickerCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C26950D2513CEFD0059594E /* XLFormDatePickerCell.m */; };
9C2695202513CEFF0059594E /* XLFormCheckCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C26950E2513CEFD0059594E /* XLFormCheckCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C2695212513CEFF0059594E /* XLFormImageCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C26950F2513CEFD0059594E /* XLFormImageCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C2695222513CEFF0059594E /* XLFormLeftRightSelectorCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C2695102513CEFD0059594E /* XLFormLeftRightSelectorCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C2695232513CEFF0059594E /* XLFormLeftRightSelectorCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C2695112513CEFE0059594E /* XLFormLeftRightSelectorCell.m */; };
9C2695242513CEFF0059594E /* XLFormInlineRowDescriptorCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C2695122513CEFE0059594E /* XLFormInlineRowDescriptorCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C2695252513CEFF0059594E /* XLFormDateCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C2695132513CEFE0059594E /* XLFormDateCell.m */; };
9C2695262513CEFF0059594E /* XLFormInlineSelectorCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C2695142513CEFE0059594E /* XLFormInlineSelectorCell.m */; };
9C2695272513CEFF0059594E /* XLFormBaseCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C2695152513CEFE0059594E /* XLFormBaseCell.m */; };
9C2695282513CEFF0059594E /* XLFormDescriptorCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C2695162513CEFE0059594E /* XLFormDescriptorCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C2695292513CEFF0059594E /* XLFormImageCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C2695172513CEFE0059594E /* XLFormImageCell.m */; };
9C26952A2513CEFF0059594E /* XLFormDateCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C2695182513CEFF0059594E /* XLFormDateCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C26953B2513CFA70059594E /* XLFormStepCounterCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C26952B2513CFA60059594E /* XLFormStepCounterCell.m */; };
9C26953C2513CFA70059594E /* XLFormPickerCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C26952C2513CFA60059594E /* XLFormPickerCell.m */; };
9C26953D2513CFA70059594E /* XLFormSliderCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C26952D2513CFA60059594E /* XLFormSliderCell.m */; };
9C26953E2513CFA70059594E /* XLFormSelectorCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C26952E2513CFA60059594E /* XLFormSelectorCell.m */; };
9C26953F2513CFA70059594E /* XLFormTextViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C26952F2513CFA60059594E /* XLFormTextViewCell.m */; };
9C2695402513CFA70059594E /* XLFormTextFieldCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C2695302513CFA60059594E /* XLFormTextFieldCell.m */; };
9C2695412513CFA70059594E /* XLFormStepCounterCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C2695312513CFA60059594E /* XLFormStepCounterCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C2695422513CFA70059594E /* XLFormTextFieldCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C2695322513CFA60059594E /* XLFormTextFieldCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C2695432513CFA70059594E /* XLFormSliderCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C2695332513CFA60059594E /* XLFormSliderCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C2695442513CFA70059594E /* XLFormTextViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C2695342513CFA60059594E /* XLFormTextViewCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C2695452513CFA70059594E /* XLFormSegmentedCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C2695352513CFA70059594E /* XLFormSegmentedCell.m */; };
9C2695462513CFA70059594E /* XLFormPickerCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C2695362513CFA70059594E /* XLFormPickerCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C2695472513CFA70059594E /* XLFormSwitchCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C2695372513CFA70059594E /* XLFormSwitchCell.m */; };
9C2695482513CFA70059594E /* XLFormSwitchCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C2695382513CFA70059594E /* XLFormSwitchCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C2695492513CFA70059594E /* XLFormSegmentedCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C2695392513CFA70059594E /* XLFormSegmentedCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C26954A2513CFA70059594E /* XLFormSelectorCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C26953A2513CFA70059594E /* XLFormSelectorCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C2695522513CFF50059594E /* XLFormViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C26954B2513CFF50059594E /* XLFormViewController.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C2695532513CFF50059594E /* XLFormViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C26954C2513CFF50059594E /* XLFormViewController.m */; };
9C2695542513CFF50059594E /* XLFormRowDescriptorViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C26954D2513CFF50059594E /* XLFormRowDescriptorViewController.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C2695552513CFF50059594E /* XLFormOptionsObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C26954E2513CFF50059594E /* XLFormOptionsObject.m */; };
9C2695562513CFF50059594E /* XLFormOptionsViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C26954F2513CFF50059594E /* XLFormOptionsViewController.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C2695572513CFF50059594E /* XLFormOptionsObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C2695502513CFF50059594E /* XLFormOptionsObject.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C2695582513CFF50059594E /* XLFormOptionsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C2695512513CFF50059594E /* XLFormOptionsViewController.m */; };
9C2695602513D0230059594E /* XLFormDescriptorDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C2695592513D0230059594E /* XLFormDescriptorDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C2695612513D0230059594E /* XLFormRowDescriptor.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C26955A2513D0230059594E /* XLFormRowDescriptor.m */; };
9C2695622513D0230059594E /* XLFormSectionDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C26955B2513D0230059594E /* XLFormSectionDescriptor.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C2695632513D0230059594E /* XLFormRowDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C26955C2513D0230059594E /* XLFormRowDescriptor.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C2695642513D0230059594E /* XLFormDescriptor.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C26955D2513D0230059594E /* XLFormDescriptor.m */; };
9C2695652513D0230059594E /* XLFormSectionDescriptor.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C26955E2513D0230059594E /* XLFormSectionDescriptor.m */; };
9C2695662513D0230059594E /* XLFormDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C26955F2513D0230059594E /* XLFormDescriptor.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C2695732513D0520059594E /* NSArray+XLFormAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C2695672513D0510059594E /* NSArray+XLFormAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C2695742513D0520059594E /* NSString+XLFormAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C2695682513D0510059594E /* NSString+XLFormAdditions.m */; };
9C2695752513D0520059594E /* NSExpression+XLFormAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C2695692513D0510059594E /* NSExpression+XLFormAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C2695762513D0520059594E /* NSObject+XLFormAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C26956A2513D0510059594E /* NSObject+XLFormAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C2695772513D0520059594E /* NSPredicate+XLFormAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C26956B2513D0510059594E /* NSPredicate+XLFormAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C2695782513D0520059594E /* UIView+XLFormAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C26956C2513D0510059594E /* UIView+XLFormAdditions.m */; };
9C2695792513D0520059594E /* NSArray+XLFormAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C26956D2513D0510059594E /* NSArray+XLFormAdditions.m */; };
9C26957A2513D0520059594E /* NSExpression+XLFormAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C26956E2513D0510059594E /* NSExpression+XLFormAdditions.m */; };
9C26957B2513D0520059594E /* NSPredicate+XLFormAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C26956F2513D0510059594E /* NSPredicate+XLFormAdditions.m */; };
9C26957C2513D0520059594E /* UIView+XLFormAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C2695702513D0510059594E /* UIView+XLFormAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C26957D2513D0520059594E /* NSObject+XLFormAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C2695712513D0510059594E /* NSObject+XLFormAdditions.m */; };
9C26957E2513D0520059594E /* NSString+XLFormAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C2695722513D0520059594E /* NSString+XLFormAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C2695872513D0960059594E /* XLFormRightImageButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C26957F2513D0950059594E /* XLFormRightImageButton.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C2695882513D0960059594E /* XLFormRightDetailCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C2695802513D0950059594E /* XLFormRightDetailCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C2695892513D0960059594E /* XLFormTextView.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C2695812513D0950059594E /* XLFormTextView.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C26958A2513D0960059594E /* XLFormRowNavigationAccessoryView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C2695822513D0950059594E /* XLFormRowNavigationAccessoryView.m */; };
9C26958B2513D0960059594E /* XLFormTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C2695832513D0950059594E /* XLFormTextView.m */; };
9C26958C2513D0960059594E /* XLFormRowNavigationAccessoryView.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C2695842513D0950059594E /* XLFormRowNavigationAccessoryView.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C26958D2513D0960059594E /* XLFormRightImageButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C2695852513D0950059594E /* XLFormRightImageButton.m */; };
9C26958E2513D0960059594E /* XLFormRightDetailCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C2695862513D0960059594E /* XLFormRightDetailCell.m */; };
9C2695962513D0D00059594E /* XLFormValidationStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C26958F2513D0CF0059594E /* XLFormValidationStatus.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C2695972513D0D00059594E /* XLFormValidationStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C2695902513D0CF0059594E /* XLFormValidationStatus.m */; };
9C2695982513D0D00059594E /* XLFormValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C2695912513D0CF0059594E /* XLFormValidator.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C2695992513D0D00059594E /* XLFormRegexValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C2695922513D0CF0059594E /* XLFormRegexValidator.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C26959A2513D0D00059594E /* XLFormRegexValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C2695932513D0D00059594E /* XLFormRegexValidator.m */; };
9C26959B2513D0D00059594E /* XLFormValidatorProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C2695942513D0D00059594E /* XLFormValidatorProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
9C26959C2513D0D00059594E /* XLFormValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C2695952513D0D00059594E /* XLFormValidator.m */; };
E267FDC51BE804E200F86B42 /* XLForm.h in Headers */ = {isa = PBXBuildFile; fileRef = E267FD7A1BE804E200F86B42 /* XLForm.h */; settings = {ATTRIBUTES = (Public, ); }; };
E267FDC61BE804E200F86B42 /* XLForm.m in Sources */ = {isa = PBXBuildFile; fileRef = E267FD7B1BE804E200F86B42 /* XLForm.m */; };
E267FDC81BE806D000F86B42 /* XLForm.bundle in Resources */ = {isa = PBXBuildFile; fileRef = E267FDC71BE806D000F86B42 /* XLForm.bundle */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
6442F64E1C1FC3AA00C9152F /* XLFormImageCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormImageCell.h; sourceTree = "<group>"; };
6442F64F1C1FC3AA00C9152F /* XLFormImageCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XLFormImageCell.m; sourceTree = "<group>"; };
9C2695072513CEFC0059594E /* XLFormBaseCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormBaseCell.h; path = XLForm/XL/XLFormBaseCell.h; sourceTree = SOURCE_ROOT; };
9C2695082513CEFC0059594E /* XLFormCheckCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XLFormCheckCell.m; path = XLForm/XL/XLFormCheckCell.m; sourceTree = SOURCE_ROOT; };
9C2695092513CEFC0059594E /* XLFormDatePickerCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormDatePickerCell.h; path = XLForm/XL/XLFormDatePickerCell.h; sourceTree = SOURCE_ROOT; };
9C26950A2513CEFC0059594E /* XLFormButtonCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormButtonCell.h; path = XLForm/XL/XLFormButtonCell.h; sourceTree = SOURCE_ROOT; };
9C26950B2513CEFC0059594E /* XLFormButtonCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XLFormButtonCell.m; path = XLForm/XL/XLFormButtonCell.m; sourceTree = SOURCE_ROOT; };
9C26950C2513CEFC0059594E /* XLFormInlineSelectorCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormInlineSelectorCell.h; path = XLForm/XL/XLFormInlineSelectorCell.h; sourceTree = SOURCE_ROOT; };
9C26950D2513CEFD0059594E /* XLFormDatePickerCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XLFormDatePickerCell.m; path = XLForm/XL/XLFormDatePickerCell.m; sourceTree = SOURCE_ROOT; };
9C26950E2513CEFD0059594E /* XLFormCheckCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormCheckCell.h; path = XLForm/XL/XLFormCheckCell.h; sourceTree = SOURCE_ROOT; };
9C26950F2513CEFD0059594E /* XLFormImageCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormImageCell.h; path = XLForm/XL/XLFormImageCell.h; sourceTree = SOURCE_ROOT; };
9C2695102513CEFD0059594E /* XLFormLeftRightSelectorCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormLeftRightSelectorCell.h; path = XLForm/XL/XLFormLeftRightSelectorCell.h; sourceTree = SOURCE_ROOT; };
9C2695112513CEFE0059594E /* XLFormLeftRightSelectorCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XLFormLeftRightSelectorCell.m; path = XLForm/XL/XLFormLeftRightSelectorCell.m; sourceTree = SOURCE_ROOT; };
9C2695122513CEFE0059594E /* XLFormInlineRowDescriptorCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormInlineRowDescriptorCell.h; path = XLForm/XL/XLFormInlineRowDescriptorCell.h; sourceTree = SOURCE_ROOT; };
9C2695132513CEFE0059594E /* XLFormDateCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XLFormDateCell.m; path = XLForm/XL/XLFormDateCell.m; sourceTree = SOURCE_ROOT; };
9C2695142513CEFE0059594E /* XLFormInlineSelectorCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XLFormInlineSelectorCell.m; path = XLForm/XL/XLFormInlineSelectorCell.m; sourceTree = SOURCE_ROOT; };
9C2695152513CEFE0059594E /* XLFormBaseCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XLFormBaseCell.m; path = XLForm/XL/XLFormBaseCell.m; sourceTree = SOURCE_ROOT; };
9C2695162513CEFE0059594E /* XLFormDescriptorCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormDescriptorCell.h; path = XLForm/XL/XLFormDescriptorCell.h; sourceTree = SOURCE_ROOT; };
9C2695172513CEFE0059594E /* XLFormImageCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XLFormImageCell.m; path = XLForm/XL/XLFormImageCell.m; sourceTree = SOURCE_ROOT; };
9C2695182513CEFF0059594E /* XLFormDateCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormDateCell.h; path = XLForm/XL/XLFormDateCell.h; sourceTree = SOURCE_ROOT; };
9C26952B2513CFA60059594E /* XLFormStepCounterCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XLFormStepCounterCell.m; path = XL/XLFormStepCounterCell.m; sourceTree = "<group>"; };
9C26952C2513CFA60059594E /* XLFormPickerCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XLFormPickerCell.m; path = XL/XLFormPickerCell.m; sourceTree = "<group>"; };
9C26952D2513CFA60059594E /* XLFormSliderCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XLFormSliderCell.m; path = XL/XLFormSliderCell.m; sourceTree = "<group>"; };
9C26952E2513CFA60059594E /* XLFormSelectorCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XLFormSelectorCell.m; path = XL/XLFormSelectorCell.m; sourceTree = "<group>"; };
9C26952F2513CFA60059594E /* XLFormTextViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XLFormTextViewCell.m; path = XL/XLFormTextViewCell.m; sourceTree = "<group>"; };
9C2695302513CFA60059594E /* XLFormTextFieldCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XLFormTextFieldCell.m; path = XL/XLFormTextFieldCell.m; sourceTree = "<group>"; };
9C2695312513CFA60059594E /* XLFormStepCounterCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormStepCounterCell.h; path = XL/XLFormStepCounterCell.h; sourceTree = "<group>"; };
9C2695322513CFA60059594E /* XLFormTextFieldCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormTextFieldCell.h; path = XL/XLFormTextFieldCell.h; sourceTree = "<group>"; };
9C2695332513CFA60059594E /* XLFormSliderCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormSliderCell.h; path = XL/XLFormSliderCell.h; sourceTree = "<group>"; };
9C2695342513CFA60059594E /* XLFormTextViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormTextViewCell.h; path = XL/XLFormTextViewCell.h; sourceTree = "<group>"; };
9C2695352513CFA70059594E /* XLFormSegmentedCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XLFormSegmentedCell.m; path = XL/XLFormSegmentedCell.m; sourceTree = "<group>"; };
9C2695362513CFA70059594E /* XLFormPickerCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormPickerCell.h; path = XL/XLFormPickerCell.h; sourceTree = "<group>"; };
9C2695372513CFA70059594E /* XLFormSwitchCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XLFormSwitchCell.m; path = XL/XLFormSwitchCell.m; sourceTree = "<group>"; };
9C2695382513CFA70059594E /* XLFormSwitchCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormSwitchCell.h; path = XL/XLFormSwitchCell.h; sourceTree = "<group>"; };
9C2695392513CFA70059594E /* XLFormSegmentedCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormSegmentedCell.h; path = XL/XLFormSegmentedCell.h; sourceTree = "<group>"; };
9C26953A2513CFA70059594E /* XLFormSelectorCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormSelectorCell.h; path = XL/XLFormSelectorCell.h; sourceTree = "<group>"; };
9C26954B2513CFF50059594E /* XLFormViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormViewController.h; path = XL/XLFormViewController.h; sourceTree = "<group>"; };
9C26954C2513CFF50059594E /* XLFormViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XLFormViewController.m; path = XL/XLFormViewController.m; sourceTree = "<group>"; };
9C26954D2513CFF50059594E /* XLFormRowDescriptorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormRowDescriptorViewController.h; path = XL/XLFormRowDescriptorViewController.h; sourceTree = "<group>"; };
9C26954E2513CFF50059594E /* XLFormOptionsObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XLFormOptionsObject.m; path = XL/XLFormOptionsObject.m; sourceTree = "<group>"; };
9C26954F2513CFF50059594E /* XLFormOptionsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormOptionsViewController.h; path = XL/XLFormOptionsViewController.h; sourceTree = "<group>"; };
9C2695502513CFF50059594E /* XLFormOptionsObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormOptionsObject.h; path = XL/XLFormOptionsObject.h; sourceTree = "<group>"; };
9C2695512513CFF50059594E /* XLFormOptionsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XLFormOptionsViewController.m; path = XL/XLFormOptionsViewController.m; sourceTree = "<group>"; };
9C2695592513D0230059594E /* XLFormDescriptorDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormDescriptorDelegate.h; path = XL/XLFormDescriptorDelegate.h; sourceTree = "<group>"; };
9C26955A2513D0230059594E /* XLFormRowDescriptor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XLFormRowDescriptor.m; path = XL/XLFormRowDescriptor.m; sourceTree = "<group>"; };
9C26955B2513D0230059594E /* XLFormSectionDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormSectionDescriptor.h; path = XL/XLFormSectionDescriptor.h; sourceTree = "<group>"; };
9C26955C2513D0230059594E /* XLFormRowDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormRowDescriptor.h; path = XL/XLFormRowDescriptor.h; sourceTree = "<group>"; };
9C26955D2513D0230059594E /* XLFormDescriptor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XLFormDescriptor.m; path = XL/XLFormDescriptor.m; sourceTree = "<group>"; };
9C26955E2513D0230059594E /* XLFormSectionDescriptor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XLFormSectionDescriptor.m; path = XL/XLFormSectionDescriptor.m; sourceTree = "<group>"; };
9C26955F2513D0230059594E /* XLFormDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormDescriptor.h; path = XL/XLFormDescriptor.h; sourceTree = "<group>"; };
9C2695672513D0510059594E /* NSArray+XLFormAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSArray+XLFormAdditions.h"; path = "XL/NSArray+XLFormAdditions.h"; sourceTree = "<group>"; };
9C2695682513D0510059594E /* NSString+XLFormAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSString+XLFormAdditions.m"; path = "XL/NSString+XLFormAdditions.m"; sourceTree = "<group>"; };
9C2695692513D0510059594E /* NSExpression+XLFormAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSExpression+XLFormAdditions.h"; path = "XL/NSExpression+XLFormAdditions.h"; sourceTree = "<group>"; };
9C26956A2513D0510059594E /* NSObject+XLFormAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSObject+XLFormAdditions.h"; path = "XL/NSObject+XLFormAdditions.h"; sourceTree = "<group>"; };
9C26956B2513D0510059594E /* NSPredicate+XLFormAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSPredicate+XLFormAdditions.h"; path = "XL/NSPredicate+XLFormAdditions.h"; sourceTree = "<group>"; };
9C26956C2513D0510059594E /* UIView+XLFormAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIView+XLFormAdditions.m"; path = "XL/UIView+XLFormAdditions.m"; sourceTree = "<group>"; };
9C26956D2513D0510059594E /* NSArray+XLFormAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSArray+XLFormAdditions.m"; path = "XL/NSArray+XLFormAdditions.m"; sourceTree = "<group>"; };
9C26956E2513D0510059594E /* NSExpression+XLFormAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSExpression+XLFormAdditions.m"; path = "XL/NSExpression+XLFormAdditions.m"; sourceTree = "<group>"; };
9C26956F2513D0510059594E /* NSPredicate+XLFormAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSPredicate+XLFormAdditions.m"; path = "XL/NSPredicate+XLFormAdditions.m"; sourceTree = "<group>"; };
9C2695702513D0510059594E /* UIView+XLFormAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIView+XLFormAdditions.h"; path = "XL/UIView+XLFormAdditions.h"; sourceTree = "<group>"; };
9C2695712513D0510059594E /* NSObject+XLFormAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSObject+XLFormAdditions.m"; path = "XL/NSObject+XLFormAdditions.m"; sourceTree = "<group>"; };
9C2695722513D0520059594E /* NSString+XLFormAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSString+XLFormAdditions.h"; path = "XL/NSString+XLFormAdditions.h"; sourceTree = "<group>"; };
9C26957F2513D0950059594E /* XLFormRightImageButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormRightImageButton.h; path = XL/XLFormRightImageButton.h; sourceTree = "<group>"; };
9C2695802513D0950059594E /* XLFormRightDetailCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormRightDetailCell.h; path = XL/XLFormRightDetailCell.h; sourceTree = "<group>"; };
9C2695812513D0950059594E /* XLFormTextView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormTextView.h; path = XL/XLFormTextView.h; sourceTree = "<group>"; };
9C2695822513D0950059594E /* XLFormRowNavigationAccessoryView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XLFormRowNavigationAccessoryView.m; path = XL/XLFormRowNavigationAccessoryView.m; sourceTree = "<group>"; };
9C2695832513D0950059594E /* XLFormTextView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XLFormTextView.m; path = XL/XLFormTextView.m; sourceTree = "<group>"; };
9C2695842513D0950059594E /* XLFormRowNavigationAccessoryView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormRowNavigationAccessoryView.h; path = XL/XLFormRowNavigationAccessoryView.h; sourceTree = "<group>"; };
9C2695852513D0950059594E /* XLFormRightImageButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XLFormRightImageButton.m; path = XL/XLFormRightImageButton.m; sourceTree = "<group>"; };
9C2695862513D0960059594E /* XLFormRightDetailCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XLFormRightDetailCell.m; path = XL/XLFormRightDetailCell.m; sourceTree = "<group>"; };
9C26958F2513D0CF0059594E /* XLFormValidationStatus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormValidationStatus.h; path = XLForm/XL/XLFormValidationStatus.h; sourceTree = SOURCE_ROOT; };
9C2695902513D0CF0059594E /* XLFormValidationStatus.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XLFormValidationStatus.m; path = XLForm/XL/XLFormValidationStatus.m; sourceTree = SOURCE_ROOT; };
9C2695912513D0CF0059594E /* XLFormValidator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormValidator.h; path = XLForm/XL/XLFormValidator.h; sourceTree = SOURCE_ROOT; };
9C2695922513D0CF0059594E /* XLFormRegexValidator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormRegexValidator.h; path = XLForm/XL/XLFormRegexValidator.h; sourceTree = SOURCE_ROOT; };
9C2695932513D0D00059594E /* XLFormRegexValidator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XLFormRegexValidator.m; path = XLForm/XL/XLFormRegexValidator.m; sourceTree = SOURCE_ROOT; };
9C2695942513D0D00059594E /* XLFormValidatorProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLFormValidatorProtocol.h; path = XLForm/XL/XLFormValidatorProtocol.h; sourceTree = SOURCE_ROOT; };
9C2695952513D0D00059594E /* XLFormValidator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XLFormValidator.m; path = XLForm/XL/XLFormValidator.m; sourceTree = SOURCE_ROOT; };
E267FD201BE8048900F86B42 /* XLForm.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = XLForm.framework; sourceTree = BUILT_PRODUCTS_DIR; };
E267FD251BE8048900F86B42 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
E267FD2C1BE804E200F86B42 /* XLFormBaseCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormBaseCell.h; sourceTree = "<group>"; };
E267FD2D1BE804E200F86B42 /* XLFormBaseCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XLFormBaseCell.m; sourceTree = "<group>"; };
E267FD2E1BE804E200F86B42 /* XLFormButtonCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormButtonCell.h; sourceTree = "<group>"; };
E267FD2F1BE804E200F86B42 /* XLFormButtonCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XLFormButtonCell.m; sourceTree = "<group>"; };
E267FD301BE804E200F86B42 /* XLFormCheckCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormCheckCell.h; sourceTree = "<group>"; };
E267FD311BE804E200F86B42 /* XLFormCheckCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XLFormCheckCell.m; sourceTree = "<group>"; };
E267FD321BE804E200F86B42 /* XLFormDateCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormDateCell.h; sourceTree = "<group>"; };
E267FD331BE804E200F86B42 /* XLFormDateCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XLFormDateCell.m; sourceTree = "<group>"; };
E267FD341BE804E200F86B42 /* XLFormDatePickerCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormDatePickerCell.h; sourceTree = "<group>"; };
E267FD351BE804E200F86B42 /* XLFormDatePickerCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XLFormDatePickerCell.m; sourceTree = "<group>"; };
E267FD361BE804E200F86B42 /* XLFormDescriptorCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormDescriptorCell.h; sourceTree = "<group>"; };
E267FD371BE804E200F86B42 /* XLFormInlineRowDescriptorCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormInlineRowDescriptorCell.h; sourceTree = "<group>"; };
E267FD381BE804E200F86B42 /* XLFormInlineSelectorCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormInlineSelectorCell.h; sourceTree = "<group>"; };
E267FD391BE804E200F86B42 /* XLFormInlineSelectorCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XLFormInlineSelectorCell.m; sourceTree = "<group>"; };
E267FD3A1BE804E200F86B42 /* XLFormLeftRightSelectorCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormLeftRightSelectorCell.h; sourceTree = "<group>"; };
E267FD3B1BE804E200F86B42 /* XLFormLeftRightSelectorCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XLFormLeftRightSelectorCell.m; sourceTree = "<group>"; };
E267FD3C1BE804E200F86B42 /* XLFormPickerCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormPickerCell.h; sourceTree = "<group>"; };
E267FD3D1BE804E200F86B42 /* XLFormPickerCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XLFormPickerCell.m; sourceTree = "<group>"; };
E267FD3E1BE804E200F86B42 /* XLFormSegmentedCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormSegmentedCell.h; sourceTree = "<group>"; };
E267FD3F1BE804E200F86B42 /* XLFormSegmentedCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XLFormSegmentedCell.m; sourceTree = "<group>"; };
E267FD401BE804E200F86B42 /* XLFormSelectorCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormSelectorCell.h; sourceTree = "<group>"; };
E267FD411BE804E200F86B42 /* XLFormSelectorCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XLFormSelectorCell.m; sourceTree = "<group>"; };
E267FD421BE804E200F86B42 /* XLFormSliderCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormSliderCell.h; sourceTree = "<group>"; };
E267FD431BE804E200F86B42 /* XLFormSliderCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XLFormSliderCell.m; sourceTree = "<group>"; };
E267FD441BE804E200F86B42 /* XLFormStepCounterCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormStepCounterCell.h; sourceTree = "<group>"; };
E267FD451BE804E200F86B42 /* XLFormStepCounterCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XLFormStepCounterCell.m; sourceTree = "<group>"; };
E267FD461BE804E200F86B42 /* XLFormSwitchCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormSwitchCell.h; sourceTree = "<group>"; };
E267FD471BE804E200F86B42 /* XLFormSwitchCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XLFormSwitchCell.m; sourceTree = "<group>"; };
E267FD481BE804E200F86B42 /* XLFormTextFieldCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormTextFieldCell.h; sourceTree = "<group>"; };
E267FD491BE804E200F86B42 /* XLFormTextFieldCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XLFormTextFieldCell.m; sourceTree = "<group>"; };
E267FD4A1BE804E200F86B42 /* XLFormTextViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormTextViewCell.h; sourceTree = "<group>"; };
E267FD4B1BE804E200F86B42 /* XLFormTextViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XLFormTextViewCell.m; sourceTree = "<group>"; };
E267FD4D1BE804E200F86B42 /* XLFormOptionsObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormOptionsObject.h; sourceTree = "<group>"; };
E267FD4E1BE804E200F86B42 /* XLFormOptionsObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XLFormOptionsObject.m; sourceTree = "<group>"; };
E267FD4F1BE804E200F86B42 /* XLFormOptionsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormOptionsViewController.h; sourceTree = "<group>"; };
E267FD501BE804E200F86B42 /* XLFormOptionsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XLFormOptionsViewController.m; sourceTree = "<group>"; };
E267FD511BE804E200F86B42 /* XLFormRowDescriptorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormRowDescriptorViewController.h; sourceTree = "<group>"; };
E267FD521BE804E200F86B42 /* XLFormViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormViewController.h; sourceTree = "<group>"; };
E267FD531BE804E200F86B42 /* XLFormViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XLFormViewController.m; sourceTree = "<group>"; };
E267FD551BE804E200F86B42 /* XLFormDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormDescriptor.h; sourceTree = "<group>"; };
E267FD561BE804E200F86B42 /* XLFormDescriptor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XLFormDescriptor.m; sourceTree = "<group>"; };
E267FD571BE804E200F86B42 /* XLFormDescriptorDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormDescriptorDelegate.h; sourceTree = "<group>"; };
E267FD581BE804E200F86B42 /* XLFormRowDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormRowDescriptor.h; sourceTree = "<group>"; };
E267FD591BE804E200F86B42 /* XLFormRowDescriptor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XLFormRowDescriptor.m; sourceTree = "<group>"; };
E267FD5A1BE804E200F86B42 /* XLFormSectionDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormSectionDescriptor.h; sourceTree = "<group>"; };
E267FD5B1BE804E200F86B42 /* XLFormSectionDescriptor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XLFormSectionDescriptor.m; sourceTree = "<group>"; };
E267FD5D1BE804E200F86B42 /* NSArray+XLFormAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSArray+XLFormAdditions.h"; sourceTree = "<group>"; };
E267FD5E1BE804E200F86B42 /* NSArray+XLFormAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSArray+XLFormAdditions.m"; sourceTree = "<group>"; };
E267FD5F1BE804E200F86B42 /* NSExpression+XLFormAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSExpression+XLFormAdditions.h"; sourceTree = "<group>"; };
E267FD601BE804E200F86B42 /* NSExpression+XLFormAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSExpression+XLFormAdditions.m"; sourceTree = "<group>"; };
E267FD611BE804E200F86B42 /* NSObject+XLFormAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSObject+XLFormAdditions.h"; sourceTree = "<group>"; };
E267FD621BE804E200F86B42 /* NSObject+XLFormAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSObject+XLFormAdditions.m"; sourceTree = "<group>"; };
E267FD631BE804E200F86B42 /* NSPredicate+XLFormAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSPredicate+XLFormAdditions.h"; sourceTree = "<group>"; };
E267FD641BE804E200F86B42 /* NSPredicate+XLFormAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSPredicate+XLFormAdditions.m"; sourceTree = "<group>"; };
E267FD651BE804E200F86B42 /* NSString+XLFormAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+XLFormAdditions.h"; sourceTree = "<group>"; };
E267FD661BE804E200F86B42 /* NSString+XLFormAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+XLFormAdditions.m"; sourceTree = "<group>"; };
E267FD671BE804E200F86B42 /* UIView+XLFormAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+XLFormAdditions.h"; sourceTree = "<group>"; };
E267FD681BE804E200F86B42 /* UIView+XLFormAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+XLFormAdditions.m"; sourceTree = "<group>"; };
E267FD6A1BE804E200F86B42 /* XLFormRightDetailCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormRightDetailCell.h; sourceTree = "<group>"; };
E267FD6B1BE804E200F86B42 /* XLFormRightDetailCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XLFormRightDetailCell.m; sourceTree = "<group>"; };
E267FD6C1BE804E200F86B42 /* XLFormRightImageButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormRightImageButton.h; sourceTree = "<group>"; };
E267FD6D1BE804E200F86B42 /* XLFormRightImageButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XLFormRightImageButton.m; sourceTree = "<group>"; };
E267FD6E1BE804E200F86B42 /* XLFormRowNavigationAccessoryView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormRowNavigationAccessoryView.h; sourceTree = "<group>"; };
E267FD6F1BE804E200F86B42 /* XLFormRowNavigationAccessoryView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XLFormRowNavigationAccessoryView.m; sourceTree = "<group>"; };
E267FD701BE804E200F86B42 /* XLFormTextView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormTextView.h; sourceTree = "<group>"; };
E267FD711BE804E200F86B42 /* XLFormTextView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XLFormTextView.m; sourceTree = "<group>"; };
E267FD731BE804E200F86B42 /* XLFormRegexValidator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormRegexValidator.h; sourceTree = "<group>"; };
E267FD741BE804E200F86B42 /* XLFormRegexValidator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XLFormRegexValidator.m; sourceTree = "<group>"; };
E267FD751BE804E200F86B42 /* XLFormValidationStatus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormValidationStatus.h; sourceTree = "<group>"; };
E267FD761BE804E200F86B42 /* XLFormValidationStatus.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XLFormValidationStatus.m; sourceTree = "<group>"; };
E267FD771BE804E200F86B42 /* XLFormValidator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormValidator.h; sourceTree = "<group>"; };
E267FD781BE804E200F86B42 /* XLFormValidator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XLFormValidator.m; sourceTree = "<group>"; };
E267FD791BE804E200F86B42 /* XLFormValidatorProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLFormValidatorProtocol.h; sourceTree = "<group>"; };
E267FD7A1BE804E200F86B42 /* XLForm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XLForm.h; path = XL/XLForm.h; sourceTree = "<group>"; };
E267FD7B1BE804E200F86B42 /* XLForm.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XLForm.m; path = XL/XLForm.m; sourceTree = "<group>"; };
E267FDC71BE806D000F86B42 /* XLForm.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = XLForm.bundle; sourceTree = "<group>"; };
@@ -216,124 +216,119 @@
E267FD2B1BE804E200F86B42 /* Cell */ = {
isa = PBXGroup;
children = (
E267FD2C1BE804E200F86B42 /* XLFormBaseCell.h */,
E267FD2D1BE804E200F86B42 /* XLFormBaseCell.m */,
E267FD2E1BE804E200F86B42 /* XLFormButtonCell.h */,
E267FD2F1BE804E200F86B42 /* XLFormButtonCell.m */,
E267FD301BE804E200F86B42 /* XLFormCheckCell.h */,
E267FD311BE804E200F86B42 /* XLFormCheckCell.m */,
E267FD321BE804E200F86B42 /* XLFormDateCell.h */,
E267FD331BE804E200F86B42 /* XLFormDateCell.m */,
E267FD341BE804E200F86B42 /* XLFormDatePickerCell.h */,
E267FD351BE804E200F86B42 /* XLFormDatePickerCell.m */,
E267FD361BE804E200F86B42 /* XLFormDescriptorCell.h */,
6442F64E1C1FC3AA00C9152F /* XLFormImageCell.h */,
6442F64F1C1FC3AA00C9152F /* XLFormImageCell.m */,
E267FD371BE804E200F86B42 /* XLFormInlineRowDescriptorCell.h */,
E267FD381BE804E200F86B42 /* XLFormInlineSelectorCell.h */,
E267FD391BE804E200F86B42 /* XLFormInlineSelectorCell.m */,
E267FD3A1BE804E200F86B42 /* XLFormLeftRightSelectorCell.h */,
E267FD3B1BE804E200F86B42 /* XLFormLeftRightSelectorCell.m */,
E267FD3C1BE804E200F86B42 /* XLFormPickerCell.h */,
E267FD3D1BE804E200F86B42 /* XLFormPickerCell.m */,
E267FD3E1BE804E200F86B42 /* XLFormSegmentedCell.h */,
E267FD3F1BE804E200F86B42 /* XLFormSegmentedCell.m */,
E267FD401BE804E200F86B42 /* XLFormSelectorCell.h */,
E267FD411BE804E200F86B42 /* XLFormSelectorCell.m */,
E267FD421BE804E200F86B42 /* XLFormSliderCell.h */,
E267FD431BE804E200F86B42 /* XLFormSliderCell.m */,
E267FD441BE804E200F86B42 /* XLFormStepCounterCell.h */,
E267FD451BE804E200F86B42 /* XLFormStepCounterCell.m */,
E267FD461BE804E200F86B42 /* XLFormSwitchCell.h */,
E267FD471BE804E200F86B42 /* XLFormSwitchCell.m */,
E267FD481BE804E200F86B42 /* XLFormTextFieldCell.h */,
E267FD491BE804E200F86B42 /* XLFormTextFieldCell.m */,
E267FD4A1BE804E200F86B42 /* XLFormTextViewCell.h */,
E267FD4B1BE804E200F86B42 /* XLFormTextViewCell.m */,
9C2695072513CEFC0059594E /* XLFormBaseCell.h */,
9C2695152513CEFE0059594E /* XLFormBaseCell.m */,
9C26950A2513CEFC0059594E /* XLFormButtonCell.h */,
9C26950B2513CEFC0059594E /* XLFormButtonCell.m */,
9C26950E2513CEFD0059594E /* XLFormCheckCell.h */,
9C2695082513CEFC0059594E /* XLFormCheckCell.m */,
9C2695182513CEFF0059594E /* XLFormDateCell.h */,
9C2695132513CEFE0059594E /* XLFormDateCell.m */,
9C2695092513CEFC0059594E /* XLFormDatePickerCell.h */,
9C26950D2513CEFD0059594E /* XLFormDatePickerCell.m */,
9C2695162513CEFE0059594E /* XLFormDescriptorCell.h */,
9C26950F2513CEFD0059594E /* XLFormImageCell.h */,
9C2695172513CEFE0059594E /* XLFormImageCell.m */,
9C2695122513CEFE0059594E /* XLFormInlineRowDescriptorCell.h */,
9C26950C2513CEFC0059594E /* XLFormInlineSelectorCell.h */,
9C2695142513CEFE0059594E /* XLFormInlineSelectorCell.m */,
9C2695102513CEFD0059594E /* XLFormLeftRightSelectorCell.h */,
9C2695112513CEFE0059594E /* XLFormLeftRightSelectorCell.m */,
9C2695362513CFA70059594E /* XLFormPickerCell.h */,
9C26952C2513CFA60059594E /* XLFormPickerCell.m */,
9C2695392513CFA70059594E /* XLFormSegmentedCell.h */,
9C2695352513CFA70059594E /* XLFormSegmentedCell.m */,
9C26953A2513CFA70059594E /* XLFormSelectorCell.h */,
9C26952E2513CFA60059594E /* XLFormSelectorCell.m */,
9C2695332513CFA60059594E /* XLFormSliderCell.h */,
9C26952D2513CFA60059594E /* XLFormSliderCell.m */,
9C2695312513CFA60059594E /* XLFormStepCounterCell.h */,
9C26952B2513CFA60059594E /* XLFormStepCounterCell.m */,
9C2695382513CFA70059594E /* XLFormSwitchCell.h */,
9C2695372513CFA70059594E /* XLFormSwitchCell.m */,
9C2695322513CFA60059594E /* XLFormTextFieldCell.h */,
9C2695302513CFA60059594E /* XLFormTextFieldCell.m */,
9C2695342513CFA60059594E /* XLFormTextViewCell.h */,
9C26952F2513CFA60059594E /* XLFormTextViewCell.m */,
);
name = Cell;
path = XL/Cell;
sourceTree = "<group>";
};
E267FD4C1BE804E200F86B42 /* Controllers */ = {
isa = PBXGroup;
children = (
E267FD4D1BE804E200F86B42 /* XLFormOptionsObject.h */,
E267FD4E1BE804E200F86B42 /* XLFormOptionsObject.m */,
E267FD4F1BE804E200F86B42 /* XLFormOptionsViewController.h */,
E267FD501BE804E200F86B42 /* XLFormOptionsViewController.m */,
E267FD511BE804E200F86B42 /* XLFormRowDescriptorViewController.h */,
E267FD521BE804E200F86B42 /* XLFormViewController.h */,
E267FD531BE804E200F86B42 /* XLFormViewController.m */,
9C2695502513CFF50059594E /* XLFormOptionsObject.h */,
9C26954E2513CFF50059594E /* XLFormOptionsObject.m */,
9C26954F2513CFF50059594E /* XLFormOptionsViewController.h */,
9C2695512513CFF50059594E /* XLFormOptionsViewController.m */,
9C26954D2513CFF50059594E /* XLFormRowDescriptorViewController.h */,
9C26954B2513CFF50059594E /* XLFormViewController.h */,
9C26954C2513CFF50059594E /* XLFormViewController.m */,
);
name = Controllers;
path = XL/Controllers;
sourceTree = "<group>";
};
E267FD541BE804E200F86B42 /* Descriptors */ = {
isa = PBXGroup;
children = (
E267FD551BE804E200F86B42 /* XLFormDescriptor.h */,
E267FD561BE804E200F86B42 /* XLFormDescriptor.m */,
E267FD571BE804E200F86B42 /* XLFormDescriptorDelegate.h */,
E267FD581BE804E200F86B42 /* XLFormRowDescriptor.h */,
E267FD591BE804E200F86B42 /* XLFormRowDescriptor.m */,
E267FD5A1BE804E200F86B42 /* XLFormSectionDescriptor.h */,
E267FD5B1BE804E200F86B42 /* XLFormSectionDescriptor.m */,
9C26955F2513D0230059594E /* XLFormDescriptor.h */,
9C26955D2513D0230059594E /* XLFormDescriptor.m */,
9C2695592513D0230059594E /* XLFormDescriptorDelegate.h */,
9C26955C2513D0230059594E /* XLFormRowDescriptor.h */,
9C26955A2513D0230059594E /* XLFormRowDescriptor.m */,
9C26955B2513D0230059594E /* XLFormSectionDescriptor.h */,
9C26955E2513D0230059594E /* XLFormSectionDescriptor.m */,
);
name = Descriptors;
path = XL/Descriptors;
sourceTree = "<group>";
};
E267FD5C1BE804E200F86B42 /* Helpers */ = {
isa = PBXGroup;
children = (
E267FD5D1BE804E200F86B42 /* NSArray+XLFormAdditions.h */,
E267FD5E1BE804E200F86B42 /* NSArray+XLFormAdditions.m */,
E267FD5F1BE804E200F86B42 /* NSExpression+XLFormAdditions.h */,
E267FD601BE804E200F86B42 /* NSExpression+XLFormAdditions.m */,
E267FD611BE804E200F86B42 /* NSObject+XLFormAdditions.h */,
E267FD621BE804E200F86B42 /* NSObject+XLFormAdditions.m */,
E267FD631BE804E200F86B42 /* NSPredicate+XLFormAdditions.h */,
E267FD641BE804E200F86B42 /* NSPredicate+XLFormAdditions.m */,
E267FD651BE804E200F86B42 /* NSString+XLFormAdditions.h */,
E267FD661BE804E200F86B42 /* NSString+XLFormAdditions.m */,
E267FD671BE804E200F86B42 /* UIView+XLFormAdditions.h */,
E267FD681BE804E200F86B42 /* UIView+XLFormAdditions.m */,
9C2695672513D0510059594E /* NSArray+XLFormAdditions.h */,
9C26956D2513D0510059594E /* NSArray+XLFormAdditions.m */,
9C2695692513D0510059594E /* NSExpression+XLFormAdditions.h */,
9C26956E2513D0510059594E /* NSExpression+XLFormAdditions.m */,
9C26956A2513D0510059594E /* NSObject+XLFormAdditions.h */,
9C2695712513D0510059594E /* NSObject+XLFormAdditions.m */,
9C26956B2513D0510059594E /* NSPredicate+XLFormAdditions.h */,
9C26956F2513D0510059594E /* NSPredicate+XLFormAdditions.m */,
9C2695722513D0520059594E /* NSString+XLFormAdditions.h */,
9C2695682513D0510059594E /* NSString+XLFormAdditions.m */,
9C2695702513D0510059594E /* UIView+XLFormAdditions.h */,
9C26956C2513D0510059594E /* UIView+XLFormAdditions.m */,
E267FD691BE804E200F86B42 /* Views */,
);
name = Helpers;
path = XL/Helpers;
sourceTree = "<group>";
};
E267FD691BE804E200F86B42 /* Views */ = {
isa = PBXGroup;
children = (
E267FD6A1BE804E200F86B42 /* XLFormRightDetailCell.h */,
E267FD6B1BE804E200F86B42 /* XLFormRightDetailCell.m */,
E267FD6C1BE804E200F86B42 /* XLFormRightImageButton.h */,
E267FD6D1BE804E200F86B42 /* XLFormRightImageButton.m */,
E267FD6E1BE804E200F86B42 /* XLFormRowNavigationAccessoryView.h */,
E267FD6F1BE804E200F86B42 /* XLFormRowNavigationAccessoryView.m */,
E267FD701BE804E200F86B42 /* XLFormTextView.h */,
E267FD711BE804E200F86B42 /* XLFormTextView.m */,
9C2695802513D0950059594E /* XLFormRightDetailCell.h */,
9C2695862513D0960059594E /* XLFormRightDetailCell.m */,
9C26957F2513D0950059594E /* XLFormRightImageButton.h */,
9C2695852513D0950059594E /* XLFormRightImageButton.m */,
9C2695842513D0950059594E /* XLFormRowNavigationAccessoryView.h */,
9C2695822513D0950059594E /* XLFormRowNavigationAccessoryView.m */,
9C2695812513D0950059594E /* XLFormTextView.h */,
9C2695832513D0950059594E /* XLFormTextView.m */,
);
path = Views;
name = Views;
sourceTree = "<group>";
};
E267FD721BE804E200F86B42 /* Validation */ = {
isa = PBXGroup;
children = (
E267FD731BE804E200F86B42 /* XLFormRegexValidator.h */,
E267FD741BE804E200F86B42 /* XLFormRegexValidator.m */,
E267FD751BE804E200F86B42 /* XLFormValidationStatus.h */,
E267FD761BE804E200F86B42 /* XLFormValidationStatus.m */,
E267FD771BE804E200F86B42 /* XLFormValidator.h */,
E267FD781BE804E200F86B42 /* XLFormValidator.m */,
E267FD791BE804E200F86B42 /* XLFormValidatorProtocol.h */,
9C2695922513D0CF0059594E /* XLFormRegexValidator.h */,
9C2695932513D0D00059594E /* XLFormRegexValidator.m */,
9C26958F2513D0CF0059594E /* XLFormValidationStatus.h */,
9C2695902513D0CF0059594E /* XLFormValidationStatus.m */,
9C2695912513D0CF0059594E /* XLFormValidator.h */,
9C2695952513D0D00059594E /* XLFormValidator.m */,
9C2695942513D0D00059594E /* XLFormValidatorProtocol.h */,
);
name = Validation;
path = XL/Validation;
sourceTree = "<group>";
};
/* End PBXGroup section */
@@ -343,47 +338,47 @@
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
E267FD881BE804E200F86B42 /* XLFormInlineSelectorCell.h in Headers */,
E267FD871BE804E200F86B42 /* XLFormInlineRowDescriptorCell.h in Headers */,
E267FDA11BE804E200F86B42 /* XLFormViewController.h in Headers */,
E267FD9C1BE804E200F86B42 /* XLFormOptionsObject.h in Headers */,
E267FD7E1BE804E200F86B42 /* XLFormButtonCell.h in Headers */,
E267FD841BE804E200F86B42 /* XLFormDatePickerCell.h in Headers */,
E267FD961BE804E200F86B42 /* XLFormSwitchCell.h in Headers */,
E267FDA61BE804E200F86B42 /* XLFormRowDescriptor.h in Headers */,
E267FD901BE804E200F86B42 /* XLFormSelectorCell.h in Headers */,
E267FDA81BE804E200F86B42 /* XLFormSectionDescriptor.h in Headers */,
E267FDAE1BE804E200F86B42 /* NSObject+XLFormAdditions.h in Headers */,
E267FD9E1BE804E200F86B42 /* XLFormOptionsViewController.h in Headers */,
E267FD821BE804E200F86B42 /* XLFormDateCell.h in Headers */,
E267FD801BE804E200F86B42 /* XLFormCheckCell.h in Headers */,
E267FD8E1BE804E200F86B42 /* XLFormSegmentedCell.h in Headers */,
E267FD8A1BE804E200F86B42 /* XLFormLeftRightSelectorCell.h in Headers */,
E267FD921BE804E200F86B42 /* XLFormSliderCell.h in Headers */,
E267FD941BE804E200F86B42 /* XLFormStepCounterCell.h in Headers */,
E267FDBA1BE804E200F86B42 /* XLFormRowNavigationAccessoryView.h in Headers */,
E267FDAA1BE804E200F86B42 /* NSArray+XLFormAdditions.h in Headers */,
E267FDB21BE804E200F86B42 /* NSString+XLFormAdditions.h in Headers */,
E267FDB81BE804E200F86B42 /* XLFormRightImageButton.h in Headers */,
E267FDA51BE804E200F86B42 /* XLFormDescriptorDelegate.h in Headers */,
E267FDC41BE804E200F86B42 /* XLFormValidatorProtocol.h in Headers */,
E267FDC21BE804E200F86B42 /* XLFormValidator.h in Headers */,
E267FDAC1BE804E200F86B42 /* NSExpression+XLFormAdditions.h in Headers */,
E267FDB61BE804E200F86B42 /* XLFormRightDetailCell.h in Headers */,
E267FDB01BE804E200F86B42 /* NSPredicate+XLFormAdditions.h in Headers */,
E267FDBC1BE804E200F86B42 /* XLFormTextView.h in Headers */,
E267FDC01BE804E200F86B42 /* XLFormValidationStatus.h in Headers */,
E267FDB41BE804E200F86B42 /* UIView+XLFormAdditions.h in Headers */,
E267FD8C1BE804E200F86B42 /* XLFormPickerCell.h in Headers */,
E267FDBE1BE804E200F86B42 /* XLFormRegexValidator.h in Headers */,
E267FD9A1BE804E200F86B42 /* XLFormTextViewCell.h in Headers */,
9C2695202513CEFF0059594E /* XLFormCheckCell.h in Headers */,
9C26952A2513CEFF0059594E /* XLFormDateCell.h in Headers */,
9C2695602513D0230059594E /* XLFormDescriptorDelegate.h in Headers */,
9C2695962513D0D00059594E /* XLFormValidationStatus.h in Headers */,
9C2695562513CFF50059594E /* XLFormOptionsViewController.h in Headers */,
9C2695522513CFF50059594E /* XLFormViewController.h in Headers */,
9C2695192513CEFF0059594E /* XLFormBaseCell.h in Headers */,
9C2695542513CFF50059594E /* XLFormRowDescriptorViewController.h in Headers */,
9C2695772513D0520059594E /* NSPredicate+XLFormAdditions.h in Headers */,
9C2695992513D0D00059594E /* XLFormRegexValidator.h in Headers */,
9C2695242513CEFF0059594E /* XLFormInlineRowDescriptorCell.h in Headers */,
9C26957E2513D0520059594E /* NSString+XLFormAdditions.h in Headers */,
9C26957C2513D0520059594E /* UIView+XLFormAdditions.h in Headers */,
9C2695222513CEFF0059594E /* XLFormLeftRightSelectorCell.h in Headers */,
9C2695632513D0230059594E /* XLFormRowDescriptor.h in Headers */,
9C2695282513CEFF0059594E /* XLFormDescriptorCell.h in Headers */,
9C2695622513D0230059594E /* XLFormSectionDescriptor.h in Headers */,
9C2695572513CFF50059594E /* XLFormOptionsObject.h in Headers */,
9C2695432513CFA70059594E /* XLFormSliderCell.h in Headers */,
9C2695482513CFA70059594E /* XLFormSwitchCell.h in Headers */,
9C2695412513CFA70059594E /* XLFormStepCounterCell.h in Headers */,
9C2695422513CFA70059594E /* XLFormTextFieldCell.h in Headers */,
9C2695892513D0960059594E /* XLFormTextView.h in Headers */,
9C26951C2513CEFF0059594E /* XLFormButtonCell.h in Headers */,
9C26959B2513D0D00059594E /* XLFormValidatorProtocol.h in Headers */,
9C2695752513D0520059594E /* NSExpression+XLFormAdditions.h in Headers */,
9C2695872513D0960059594E /* XLFormRightImageButton.h in Headers */,
9C2695442513CFA70059594E /* XLFormTextViewCell.h in Headers */,
9C2695762513D0520059594E /* NSObject+XLFormAdditions.h in Headers */,
9C26954A2513CFA70059594E /* XLFormSelectorCell.h in Headers */,
9C2695982513D0D00059594E /* XLFormValidator.h in Headers */,
E267FDC51BE804E200F86B42 /* XLForm.h in Headers */,
E267FDA31BE804E200F86B42 /* XLFormDescriptor.h in Headers */,
E267FD981BE804E200F86B42 /* XLFormTextFieldCell.h in Headers */,
E267FD7C1BE804E200F86B42 /* XLFormBaseCell.h in Headers */,
E267FD861BE804E200F86B42 /* XLFormDescriptorCell.h in Headers */,
6442F6501C1FC3AA00C9152F /* XLFormImageCell.h in Headers */,
E267FDA01BE804E200F86B42 /* XLFormRowDescriptorViewController.h in Headers */,
9C26958C2513D0960059594E /* XLFormRowNavigationAccessoryView.h in Headers */,
9C2695662513D0230059594E /* XLFormDescriptor.h in Headers */,
9C2695882513D0960059594E /* XLFormRightDetailCell.h in Headers */,
9C26951E2513CEFF0059594E /* XLFormInlineSelectorCell.h in Headers */,
9C2695732513D0520059594E /* NSArray+XLFormAdditions.h in Headers */,
9C2695212513CEFF0059594E /* XLFormImageCell.h in Headers */,
9C26951B2513CEFF0059594E /* XLFormDatePickerCell.h in Headers */,
9C2695462513CFA70059594E /* XLFormPickerCell.h in Headers */,
9C2695492513CFA70059594E /* XLFormSegmentedCell.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -419,6 +414,7 @@
TargetAttributes = {
E267FD1F1BE8048900F86B42 = {
CreatedOnToolsVersion = 7.1;
LastSwiftMigration = 1170;
};
};
};
@@ -427,6 +423,7 @@
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
English,
en,
);
mainGroup = E267FD161BE8048900F86B42;
@@ -455,42 +452,42 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
E267FDB51BE804E200F86B42 /* UIView+XLFormAdditions.m in Sources */,
E267FDC11BE804E200F86B42 /* XLFormValidationStatus.m in Sources */,
E267FDBD1BE804E200F86B42 /* XLFormTextView.m in Sources */,
E267FDB91BE804E200F86B42 /* XLFormRightImageButton.m in Sources */,
E267FDAB1BE804E200F86B42 /* NSArray+XLFormAdditions.m in Sources */,
E267FD811BE804E200F86B42 /* XLFormCheckCell.m in Sources */,
E267FDB71BE804E200F86B42 /* XLFormRightDetailCell.m in Sources */,
E267FD831BE804E200F86B42 /* XLFormDateCell.m in Sources */,
E267FD9B1BE804E200F86B42 /* XLFormTextViewCell.m in Sources */,
E267FD8F1BE804E200F86B42 /* XLFormSegmentedCell.m in Sources */,
E267FDAD1BE804E200F86B42 /* NSExpression+XLFormAdditions.m in Sources */,
E267FDBF1BE804E200F86B42 /* XLFormRegexValidator.m in Sources */,
E267FDC31BE804E200F86B42 /* XLFormValidator.m in Sources */,
E267FD931BE804E200F86B42 /* XLFormSliderCell.m in Sources */,
E267FDB11BE804E200F86B42 /* NSPredicate+XLFormAdditions.m in Sources */,
E267FDA41BE804E200F86B42 /* XLFormDescriptor.m in Sources */,
E267FD8B1BE804E200F86B42 /* XLFormLeftRightSelectorCell.m in Sources */,
E267FD9F1BE804E200F86B42 /* XLFormOptionsViewController.m in Sources */,
E267FD8D1BE804E200F86B42 /* XLFormPickerCell.m in Sources */,
E267FD951BE804E200F86B42 /* XLFormStepCounterCell.m in Sources */,
E267FDBB1BE804E200F86B42 /* XLFormRowNavigationAccessoryView.m in Sources */,
E267FD7D1BE804E200F86B42 /* XLFormBaseCell.m in Sources */,
E267FDA21BE804E200F86B42 /* XLFormViewController.m in Sources */,
E267FDB31BE804E200F86B42 /* NSString+XLFormAdditions.m in Sources */,
E267FD851BE804E200F86B42 /* XLFormDatePickerCell.m in Sources */,
E267FDAF1BE804E200F86B42 /* NSObject+XLFormAdditions.m in Sources */,
E267FD991BE804E200F86B42 /* XLFormTextFieldCell.m in Sources */,
E267FD9D1BE804E200F86B42 /* XLFormOptionsObject.m in Sources */,
E267FD7F1BE804E200F86B42 /* XLFormButtonCell.m in Sources */,
E267FD911BE804E200F86B42 /* XLFormSelectorCell.m in Sources */,
E267FDA91BE804E200F86B42 /* XLFormSectionDescriptor.m in Sources */,
6442F6511C1FC3AA00C9152F /* XLFormImageCell.m in Sources */,
E267FD971BE804E200F86B42 /* XLFormSwitchCell.m in Sources */,
9C2695782513D0520059594E /* UIView+XLFormAdditions.m in Sources */,
9C26953C2513CFA70059594E /* XLFormPickerCell.m in Sources */,
9C2695612513D0230059594E /* XLFormRowDescriptor.m in Sources */,
9C26953E2513CFA70059594E /* XLFormSelectorCell.m in Sources */,
9C26959C2513D0D00059594E /* XLFormValidator.m in Sources */,
9C2695402513CFA70059594E /* XLFormTextFieldCell.m in Sources */,
9C26959A2513D0D00059594E /* XLFormRegexValidator.m in Sources */,
9C26957A2513D0520059594E /* NSExpression+XLFormAdditions.m in Sources */,
9C26953F2513CFA70059594E /* XLFormTextViewCell.m in Sources */,
9C2695262513CEFF0059594E /* XLFormInlineSelectorCell.m in Sources */,
9C2695552513CFF50059594E /* XLFormOptionsObject.m in Sources */,
9C2695452513CFA70059594E /* XLFormSegmentedCell.m in Sources */,
9C2695972513D0D00059594E /* XLFormValidationStatus.m in Sources */,
9C2695582513CFF50059594E /* XLFormOptionsViewController.m in Sources */,
9C26951D2513CEFF0059594E /* XLFormButtonCell.m in Sources */,
9C26957B2513D0520059594E /* NSPredicate+XLFormAdditions.m in Sources */,
9C26951F2513CEFF0059594E /* XLFormDatePickerCell.m in Sources */,
9C2695472513CFA70059594E /* XLFormSwitchCell.m in Sources */,
9C26958B2513D0960059594E /* XLFormTextView.m in Sources */,
9C2695642513D0230059594E /* XLFormDescriptor.m in Sources */,
9C26953D2513CFA70059594E /* XLFormSliderCell.m in Sources */,
9C2695742513D0520059594E /* NSString+XLFormAdditions.m in Sources */,
9C2695232513CEFF0059594E /* XLFormLeftRightSelectorCell.m in Sources */,
9C26958D2513D0960059594E /* XLFormRightImageButton.m in Sources */,
9C26958A2513D0960059594E /* XLFormRowNavigationAccessoryView.m in Sources */,
9C26953B2513CFA70059594E /* XLFormStepCounterCell.m in Sources */,
9C2695532513CFF50059594E /* XLFormViewController.m in Sources */,
9C26951A2513CEFF0059594E /* XLFormCheckCell.m in Sources */,
9C2695292513CEFF0059594E /* XLFormImageCell.m in Sources */,
9C2695272513CEFF0059594E /* XLFormBaseCell.m in Sources */,
9C2695252513CEFF0059594E /* XLFormDateCell.m in Sources */,
9C26958E2513D0960059594E /* XLFormRightDetailCell.m in Sources */,
9C2695652513D0230059594E /* XLFormSectionDescriptor.m in Sources */,
9C26957D2513D0520059594E /* NSObject+XLFormAdditions.m in Sources */,
9C2695792513D0520059594E /* NSArray+XLFormAdditions.m in Sources */,
E267FDC61BE804E200F86B42 /* XLForm.m in Sources */,
E267FD891BE804E200F86B42 /* XLFormInlineSelectorCell.m in Sources */,
E267FDA71BE804E200F86B42 /* XLFormRowDescriptor.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -530,6 +527,7 @@
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
@@ -587,6 +585,7 @@
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
@@ -608,6 +607,7 @@
E267FD291BE8048900F86B42 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_MODULES = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
@@ -619,12 +619,15 @@
PRODUCT_BUNDLE_IDENTIFIER = com.xmartlabs.XLForm;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
};
name = Debug;
};
E267FD2A1BE8048900F86B42 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_MODULES = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
@@ -636,6 +639,7 @@
PRODUCT_BUNDLE_IDENTIFIER = com.xmartlabs.XLForm;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SWIFT_VERSION = 5.0;
};
name = Release;
};
+26 -1
View File
@@ -50,7 +50,32 @@
{
self.textLabel.font = [UIFont preferredFontForTextStyle:UIFontTextStyleBody];
self.detailTextLabel.font = [UIFont preferredFontForTextStyle:UIFontTextStyleBody];
self.textLabel.textColor = self.rowDescriptor.isDisabled ? [UIColor grayColor] : [UIColor blackColor];
UIColor * textColor = nil;
UIColor * disabledTextColor = nil;
if (@available(iOS 13.0, *)) {
textColor = [UIColor labelColor];
disabledTextColor = [UIColor systemGray3Color];
}
else if (@available(iOS 12.0, *)) {
textColor = [self traitCollection].userInterfaceStyle == UIUserInterfaceStyleDark ? [UIColor lightTextColor] : [UIColor darkTextColor];
disabledTextColor = [UIColor systemGrayColor];
}
else {
textColor = [UIColor blackColor];
disabledTextColor = [UIColor grayColor];
}
if (self.rowDescriptor.isDisabled) {
self.textLabel.textColor = disabledTextColor;
}
else {
self.textLabel.textColor = textColor;
}
}
-(void)highlight
+13 -3
View File
@@ -26,14 +26,24 @@
#import "XLFormRowDescriptor.h"
#import "XLFormButtonCell.h"
@interface XLFormButtonCell ()
@property(nonatomic) BOOL useTintColor;
@end
@implementation XLFormButtonCell
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
return [super initWithStyle:style reuseIdentifier:reuseIdentifier];
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
_useTintColor = YES;
}
return self;
}
#pragma mark - XLFormDescriptorCell
-(void)configure
@@ -52,7 +62,7 @@
self.editingAccessoryType = self.accessoryType;
self.selectionStyle = isDisabled ? UITableViewCellSelectionStyleNone : UITableViewCellSelectionStyleDefault;
if (simpleAction){
if (simpleAction && _useTintColor){
CGFloat red, green, blue, alpha;
[self.tintColor getRed:&red green:&green blue:&blue alpha:&alpha];
self.textLabel.textColor = [UIColor colorWithRed:red green:green blue:blue alpha:(isDisabled ? 0.3 : 1.0)];
@@ -136,6 +136,7 @@ NSString * const XLHidePredicateCacheKey = @"hidePredicateCache";
NSBundle *bundle = [NSBundle mainBundle];
NSString *cellClassString = cellClass;
NSString *cellResource = nil;
NSBundle *bundleForCaller = [NSBundle bundleForClass:self.class];
NSAssert(cellClass, @"Not defined XLFormRowDescriptorType: %@", self.rowType ?: @"");
@@ -155,6 +156,8 @@ NSString * const XLHidePredicateCacheKey = @"hidePredicateCache";
if ([bundle pathForResource:cellResource ofType:@"nib"]) {
_cell = [[bundle loadNibNamed:cellResource owner:nil options:nil] firstObject];
} else if ([bundleForCaller pathForResource:cellResource ofType:@"nib"]) {
_cell = [[bundleForCaller loadNibNamed:cellResource owner:nil options:nil] firstObject];
} else {
_cell = [[cellClass alloc] initWithStyle:self.cellStyle reuseIdentifier:nil];
}
+26 -1
View File
@@ -162,8 +162,33 @@ NSString *const XLFormTextFieldMaxNumberOfCharacters = @"textFieldMaxNumberOfCha
self.textField.text = self.rowDescriptor.value ? [self.rowDescriptor displayTextValue] : self.rowDescriptor.noValueDisplayText;
[self.textField setEnabled:!self.rowDescriptor.isDisabled];
self.textField.textColor = self.rowDescriptor.isDisabled ? [UIColor grayColor] : [UIColor blackColor];
self.textField.font = [UIFont preferredFontForTextStyle:UIFontTextStyleBody];
UIColor * textColor = nil;
UIColor * disabledTextColor = nil;
if (@available(iOS 13.0, *)) {
textColor = [self traitCollection].userInterfaceStyle == UIUserInterfaceStyleDark ? [UIColor systemGrayColor] : [UIColor blackColor];
disabledTextColor = [UIColor systemGray3Color];
}
else if (@available(iOS 12.0, *)) {
textColor = [self traitCollection].userInterfaceStyle == UIUserInterfaceStyleDark ? [UIColor lightTextColor] : [UIColor darkTextColor];
disabledTextColor = [UIColor systemGrayColor];
}
else {
textColor = [UIColor blackColor];
disabledTextColor = [UIColor grayColor];
}
if (self.rowDescriptor.isDisabled) {
self.textField.textColor = disabledTextColor;
}
else {
self.textField.textColor = textColor;
}
}
-(BOOL)formDescriptorCellCanBecomeFirstResponder
+27 -1
View File
@@ -107,8 +107,34 @@ NSString *const XLFormTextViewMaxNumberOfCharacters = @"textViewMaxNumberOfChara
self.textView.keyboardType = UIKeyboardTypeDefault;
self.textView.text = self.rowDescriptor.value;
[self.textView setEditable:!self.rowDescriptor.isDisabled];
self.textView.textColor = self.rowDescriptor.isDisabled ? [UIColor grayColor] : [UIColor blackColor];
self.textLabel.text = ((self.rowDescriptor.required && self.rowDescriptor.title && self.rowDescriptor.sectionDescriptor.formDescriptor.addAsteriskToRequiredRowsTitle) ? [NSString stringWithFormat:@"%@*", self.rowDescriptor.title]: self.rowDescriptor.title);
self.textView.backgroundColor = self.textLabel.backgroundColor;
UIColor * textColor = nil;
UIColor * disabledTextColor = nil;
if (@available(iOS 13.0, *)) {
textColor = [self traitCollection].userInterfaceStyle == UIUserInterfaceStyleDark ? [UIColor systemGrayColor] : [UIColor blackColor];
disabledTextColor = [UIColor systemGray3Color];
}
else if (@available(iOS 12.0, *)) {
textColor = [self traitCollection].userInterfaceStyle == UIUserInterfaceStyleDark ? [UIColor lightTextColor] : [UIColor darkTextColor];
disabledTextColor = [UIColor systemGrayColor];
}
else {
textColor = [UIColor blackColor];
disabledTextColor = [UIColor grayColor];
}
if (self.rowDescriptor.isDisabled) {
self.textView.textColor = disabledTextColor;
}
else {
self.textView.textColor = textColor;
}
}
+(CGFloat)formDescriptorCellHeightForRowDescriptor:(XLFormRowDescriptor *)rowDescriptor