Bläddra i källkod

NPD MOBILE

1.80.170426
Ray Zhang 9 år sedan
förälder
incheckning
9c688a2023

+ 25 - 6
RA Image/RA Image.xcodeproj/project.pbxproj

@@ -7,25 +7,30 @@
 	objects = {
 
 /* Begin PBXBuildFile section */
+		71114A9D1EB1BCB400D2200C /* LoginViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71114A9C1EB1BCB400D2200C /* LoginViewController.m */; };
 		71DCDC391EAF234E00BA045A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DCDC381EAF234E00BA045A /* main.m */; };
 		71DCDC3C1EAF234E00BA045A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DCDC3B1EAF234E00BA045A /* AppDelegate.m */; };
-		71DCDC3F1EAF234E00BA045A /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DCDC3E1EAF234E00BA045A /* ViewController.m */; };
+		71DCDC3F1EAF234E00BA045A /* RootViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DCDC3E1EAF234E00BA045A /* RootViewController.m */; };
 		71DCDC421EAF234E00BA045A /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 71DCDC401EAF234E00BA045A /* Main.storyboard */; };
 		71DCDC441EAF234E00BA045A /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 71DCDC431EAF234E00BA045A /* Assets.xcassets */; };
 		71DCDC471EAF234E00BA045A /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 71DCDC451EAF234E00BA045A /* LaunchScreen.storyboard */; };
+		71DCDC501EAF353000BA045A /* modelist.json in Resources */ = {isa = PBXBuildFile; fileRef = 71DCDC4F1EAF353000BA045A /* modelist.json */; };
 /* End PBXBuildFile section */
 
 /* Begin PBXFileReference section */
+		71114A9B1EB1BCB400D2200C /* LoginViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoginViewController.h; sourceTree = "<group>"; };
+		71114A9C1EB1BCB400D2200C /* LoginViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LoginViewController.m; sourceTree = "<group>"; };
 		71DCDC341EAF234E00BA045A /* RA Image.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "RA Image.app"; sourceTree = BUILT_PRODUCTS_DIR; };
 		71DCDC381EAF234E00BA045A /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
 		71DCDC3A1EAF234E00BA045A /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
 		71DCDC3B1EAF234E00BA045A /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
-		71DCDC3D1EAF234E00BA045A /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
-		71DCDC3E1EAF234E00BA045A /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; };
+		71DCDC3D1EAF234E00BA045A /* RootViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RootViewController.h; sourceTree = "<group>"; };
+		71DCDC3E1EAF234E00BA045A /* RootViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RootViewController.m; sourceTree = "<group>"; };
 		71DCDC411EAF234E00BA045A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
 		71DCDC431EAF234E00BA045A /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
 		71DCDC461EAF234E00BA045A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
 		71DCDC481EAF234E00BA045A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
+		71DCDC4F1EAF353000BA045A /* modelist.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = modelist.json; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
@@ -58,10 +63,13 @@
 		71DCDC361EAF234E00BA045A /* RA Image */ = {
 			isa = PBXGroup;
 			children = (
+				71DCDC4E1EAF34F800BA045A /* modes */,
 				71DCDC3A1EAF234E00BA045A /* AppDelegate.h */,
 				71DCDC3B1EAF234E00BA045A /* AppDelegate.m */,
-				71DCDC3D1EAF234E00BA045A /* ViewController.h */,
-				71DCDC3E1EAF234E00BA045A /* ViewController.m */,
+				71DCDC3D1EAF234E00BA045A /* RootViewController.h */,
+				71DCDC3E1EAF234E00BA045A /* RootViewController.m */,
+				71114A9B1EB1BCB400D2200C /* LoginViewController.h */,
+				71114A9C1EB1BCB400D2200C /* LoginViewController.m */,
 				71DCDC401EAF234E00BA045A /* Main.storyboard */,
 				71DCDC431EAF234E00BA045A /* Assets.xcassets */,
 				71DCDC451EAF234E00BA045A /* LaunchScreen.storyboard */,
@@ -79,6 +87,14 @@
 			name = "Supporting Files";
 			sourceTree = "<group>";
 		};
+		71DCDC4E1EAF34F800BA045A /* modes */ = {
+			isa = PBXGroup;
+			children = (
+				71DCDC4F1EAF353000BA045A /* modelist.json */,
+			);
+			name = modes;
+			sourceTree = "<group>";
+		};
 /* End PBXGroup section */
 
 /* Begin PBXNativeTarget section */
@@ -140,6 +156,7 @@
 			files = (
 				71DCDC471EAF234E00BA045A /* LaunchScreen.storyboard in Resources */,
 				71DCDC441EAF234E00BA045A /* Assets.xcassets in Resources */,
+				71DCDC501EAF353000BA045A /* modelist.json in Resources */,
 				71DCDC421EAF234E00BA045A /* Main.storyboard in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -151,7 +168,8 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				71DCDC3F1EAF234E00BA045A /* ViewController.m in Sources */,
+				71114A9D1EB1BCB400D2200C /* LoginViewController.m in Sources */,
+				71DCDC3F1EAF234E00BA045A /* RootViewController.m in Sources */,
 				71DCDC3C1EAF234E00BA045A /* AppDelegate.m in Sources */,
 				71DCDC391EAF234E00BA045A /* main.m in Sources */,
 			);
@@ -312,6 +330,7 @@
 				71DCDC4D1EAF234E00BA045A /* Release */,
 			);
 			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
 		};
 /* End XCConfigurationList section */
 	};

BIN
RA Image/RA Image.xcodeproj/project.xcworkspace/xcuserdata/ray.xcuserdatad/UserInterfaceState.xcuserstate


+ 91 - 11
RA Image/RA Image/Base.lproj/Main.storyboard

@@ -1,26 +1,106 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="11134" systemVersion="15F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="BYZ-38-t0r">
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="12120" systemVersion="16E195" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="zf9-JT-Kr2">
+    <device id="retina4_7" orientation="portrait">
+        <adaptation id="fullscreen"/>
+    </device>
     <dependencies>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11106"/>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12088"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <scenes>
-        <!--View Controller-->
-        <scene sceneID="tne-QT-ifu">
+        <!--Navigation Controller-->
+        <scene sceneID="7ND-eH-sRU">
             <objects>
-                <viewController id="BYZ-38-t0r" customClass="ViewController" customModuleProvider="" sceneMemberID="viewController">
+                <navigationController id="zf9-JT-Kr2" sceneMemberID="viewController">
+                    <navigationBar key="navigationBar" contentMode="scaleToFill" id="fQ0-CT-SJq">
+                        <rect key="frame" x="0.0" y="0.0" width="375" height="44"/>
+                        <autoresizingMask key="autoresizingMask"/>
+                    </navigationBar>
+                    <connections>
+                        <segue destination="Dtz-oi-w09" kind="relationship" relationship="rootViewController" id="Pch-9t-uvy"/>
+                    </connections>
+                </navigationController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="yLH-TZ-voh" userLabel="First Responder" sceneMemberID="firstResponder"/>
+            </objects>
+            <point key="canvasLocation" x="-1220" y="92"/>
+        </scene>
+        <!--Root View Controller-->
+        <scene sceneID="OHA-Vc-Klx">
+            <objects>
+                <viewController id="Dtz-oi-w09" customClass="RootViewController" sceneMemberID="viewController">
+                    <layoutGuides>
+                        <viewControllerLayoutGuide type="top" id="qba-7X-gfw"/>
+                        <viewControllerLayoutGuide type="bottom" id="X0p-Er-QSV"/>
+                    </layoutGuides>
+                    <view key="view" contentMode="scaleToFill" id="0cG-hA-GsV">
+                        <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                        <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+                    </view>
+                    <navigationItem key="navigationItem" id="OjN-Xn-Hk9"/>
+                </viewController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="okF-58-x1C" userLabel="First Responder" sceneMemberID="firstResponder"/>
+            </objects>
+            <point key="canvasLocation" x="-282.39999999999998" y="96.7016491754123"/>
+        </scene>
+        <!--Login View Controller-->
+        <scene sceneID="5BS-AD-3M8">
+            <objects>
+                <viewController storyboardIdentifier="LoginViewController" id="l61-Sy-3V2" customClass="LoginViewController" sceneMemberID="viewController">
+                    <layoutGuides>
+                        <viewControllerLayoutGuide type="top" id="H4k-R1-29n"/>
+                        <viewControllerLayoutGuide type="bottom" id="p61-40-fkz"/>
+                    </layoutGuides>
+                    <view key="view" contentMode="scaleToFill" id="eFV-Mf-82R">
+                        <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                        <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+                    </view>
+                </viewController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="QKd-iz-zHw" userLabel="First Responder" sceneMemberID="firstResponder"/>
+            </objects>
+            <point key="canvasLocation" x="630" y="97"/>
+        </scene>
+        <!--Title-->
+        <scene sceneID="ved-nH-EPI">
+            <objects>
+                <viewController id="aZG-eq-NWq" sceneMemberID="viewController">
                     <layoutGuides>
-                        <viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
-                        <viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
+                        <viewControllerLayoutGuide type="top" id="gWE-Fo-HhX"/>
+                        <viewControllerLayoutGuide type="bottom" id="X5T-cD-J90"/>
                     </layoutGuides>
-                    <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
+                    <view key="view" contentMode="scaleToFill" id="sHb-9r-rGb">
                         <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                        <subviews>
+                            <button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Pr4-hr-5Sm">
+                                <rect key="frame" x="46" y="605" width="33" height="30"/>
+                                <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+                                <state key="normal" title="scan"/>
+                            </button>
+                            <button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="j2w-9X-jhY">
+                                <rect key="frame" x="285" y="605" width="40" height="30"/>
+                                <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+                                <state key="normal" title="photo"/>
+                            </button>
+                            <button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="0K0-Hx-c1l">
+                                <rect key="frame" x="130" y="566" width="47" height="30"/>
+                                <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+                                <state key="normal" title="upload"/>
+                            </button>
+                        </subviews>
+                        <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                     </view>
+                    <toolbarItems/>
+                    <navigationItem key="navigationItem" title="Title" id="L1B-gE-Sul">
+                        <barButtonItem key="rightBarButtonItem" title="Setting" id="q8u-PE-SyA"/>
+                    </navigationItem>
+                    <simulatedToolbarMetrics key="simulatedBottomBarMetrics"/>
                 </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="2M2-NW-Ap7" userLabel="First Responder" sceneMemberID="firstResponder"/>
             </objects>
+            <point key="canvasLocation" x="1410" y="104"/>
         </scene>
     </scenes>
 </document>

+ 13 - 0
RA Image/RA Image/LoginViewController.h

@@ -0,0 +1,13 @@
+//
+//  LoginViewController.h
+//  RA Image
+//
+//  Created by Ray on 27/04/2017.
+//  Copyright © 2017 USAI. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+@interface LoginViewController : UIViewController
+
+@end

+ 37 - 0
RA Image/RA Image/LoginViewController.m

@@ -0,0 +1,37 @@
+//
+//  LoginViewController.m
+//  RA Image
+//
+//  Created by Ray on 27/04/2017.
+//  Copyright © 2017 USAI. All rights reserved.
+//
+
+#import "LoginViewController.h"
+
+@interface LoginViewController ()
+
+@end
+
+@implementation LoginViewController
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    // Do any additional setup after loading the view.
+}
+
+- (void)didReceiveMemoryWarning {
+    [super didReceiveMemoryWarning];
+    // Dispose of any resources that can be recreated.
+}
+
+/*
+#pragma mark - Navigation
+
+// In a storyboard-based application, you will often want to do a little preparation before navigation
+- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
+    // Get the new view controller using [segue destinationViewController].
+    // Pass the selected object to the new view controller.
+}
+*/
+
+@end

+ 15 - 0
RA Image/RA Image/RootViewController.h

@@ -0,0 +1,15 @@
+//
+//  ViewController.h
+//  RA Image
+//
+//  Created by Ray on 25/04/2017.
+//  Copyright © 2017 USAI. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+@interface RootViewController : UIViewController
+
+
+@end
+

+ 29 - 0
RA Image/RA Image/RootViewController.m

@@ -0,0 +1,29 @@
+//
+//  ViewController.m
+//  RA Image
+//
+//  Created by Ray on 25/04/2017.
+//  Copyright © 2017 USAI. All rights reserved.
+//
+
+#import "RootViewController.h"
+
+@interface RootViewController ()
+
+@end
+
+@implementation RootViewController
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    // Do any additional setup after loading the view, typically from a nib.
+}
+
+
+- (void)didReceiveMemoryWarning {
+    [super didReceiveMemoryWarning];
+    // Dispose of any resources that can be recreated.
+}
+
+
+@end

+ 10 - 0
RA Image/RA Image/modelist.json

@@ -0,0 +1,10 @@
+ [
+  {
+  "name": "Model",
+  "barcode name":"Model"
+  },
+  {
+  "name": "POP",
+  "barcode name":"PIID"
+  }
+  ]