From a95abf22f43a5ed0d554d37f43c9e8878e8cd70b Mon Sep 17 00:00:00 2001 From: bearstaro Date: Fri, 12 Sep 2014 17:00:27 +0800 Subject: [PATCH] login interface --- prototype.xcodeproj/project.pbxproj | 14 +- .../UserInterfaceState.xcuserstate | Bin 18779 -> 80963 bytes .../WorkspaceSettings.xcsettings | 20 +++ .../xcdebugger/Breakpoints_v2.xcbkptlist | 82 +++++++---- prototype/Base.lproj/Main.storyboard | 130 +++++++++++------- prototype/Info.plist | 2 + prototype/initViewController.swift | 36 ----- prototype/loginViewController.swift | 76 ++++++++++ prototype/mainNavigationController.swift | 80 +++++++++++ prototype/settingViewController.swift | 32 ++++- 10 files changed, 346 insertions(+), 126 deletions(-) create mode 100644 prototype.xcodeproj/project.xcworkspace/xcuserdata/Star.xcuserdatad/WorkspaceSettings.xcsettings delete mode 100644 prototype/initViewController.swift create mode 100644 prototype/loginViewController.swift create mode 100644 prototype/mainNavigationController.swift diff --git a/prototype.xcodeproj/project.pbxproj b/prototype.xcodeproj/project.pbxproj index 4ca45b8..a0b982c 100755 --- a/prototype.xcodeproj/project.pbxproj +++ b/prototype.xcodeproj/project.pbxproj @@ -13,8 +13,9 @@ DAEDDA5219AE207C007E68AE /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DAEDDA5019AE207C007E68AE /* Main.storyboard */; }; DAEDDA5419AE207C007E68AE /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DAEDDA5319AE207C007E68AE /* Images.xcassets */; }; DAEDDA6019AE207C007E68AE /* prototypeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAEDDA5F19AE207C007E68AE /* prototypeTests.swift */; }; + F86E53C819BF30CA009086FD /* mainNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F86E53C719BF30CA009086FD /* mainNavigationController.swift */; }; F883147219BC34B10051BC38 /* settingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F883147119BC34B10051BC38 /* settingViewController.swift */; }; - F883147619BC44620051BC38 /* initViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F883147519BC44620051BC38 /* initViewController.swift */; }; + F883147619BC44620051BC38 /* loginViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F883147519BC44620051BC38 /* loginViewController.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -38,8 +39,9 @@ DAEDDA5919AE207C007E68AE /* prototypeTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = prototypeTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; DAEDDA5E19AE207C007E68AE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; DAEDDA5F19AE207C007E68AE /* prototypeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = prototypeTests.swift; sourceTree = ""; }; + F86E53C719BF30CA009086FD /* mainNavigationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = mainNavigationController.swift; sourceTree = ""; }; F883147119BC34B10051BC38 /* settingViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = settingViewController.swift; sourceTree = ""; }; - F883147519BC44620051BC38 /* initViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = initViewController.swift; sourceTree = ""; }; + F883147519BC44620051BC38 /* loginViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = loginViewController.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -82,14 +84,15 @@ isa = PBXGroup; children = ( DAEDDA6919AE27F6007E68AE /* images */, + DAAFC34519B4BBF80074C7F9 /* LineViewController.swift */, F883147119BC34B10051BC38 /* settingViewController.swift */, DAEDDA4C19AE207B007E68AE /* AppDelegate.swift */, DAEDDA4E19AE207C007E68AE /* ViewController.swift */, DAEDDA5019AE207C007E68AE /* Main.storyboard */, - F883147519BC44620051BC38 /* initViewController.swift */, + F86E53C719BF30CA009086FD /* mainNavigationController.swift */, + F883147519BC44620051BC38 /* loginViewController.swift */, DAEDDA5319AE207C007E68AE /* Images.xcassets */, DAEDDA4A19AE207B007E68AE /* Supporting Files */, - DAAFC34519B4BBF80074C7F9 /* LineViewController.swift */, ); path = prototype; sourceTree = ""; @@ -225,11 +228,12 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - F883147619BC44620051BC38 /* initViewController.swift in Sources */, + F883147619BC44620051BC38 /* loginViewController.swift in Sources */, DAEDDA4F19AE207C007E68AE /* ViewController.swift in Sources */, DAEDDA4D19AE207B007E68AE /* AppDelegate.swift in Sources */, DAAFC34619B4BBF80074C7F9 /* LineViewController.swift in Sources */, F883147219BC34B10051BC38 /* settingViewController.swift in Sources */, + F86E53C819BF30CA009086FD /* mainNavigationController.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/prototype.xcodeproj/project.xcworkspace/xcuserdata/Star.xcuserdatad/UserInterfaceState.xcuserstate b/prototype.xcodeproj/project.xcworkspace/xcuserdata/Star.xcuserdatad/UserInterfaceState.xcuserstate index c9e4329e0a6799d881360d8306fbbd1e4ddc6aee..cabb1ec8fcd207429cca9cd1169fb8d625acc899 100644 GIT binary patch literal 80963 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 R`w{E>-+%xAbEwbw{{Rqbyu1Ja delta 11305 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 + + + + BuildLocationStyle + UseAppPreferences + CustomBuildLocationType + RelativeToDerivedData + DerivedDataLocationStyle + Default + IssueFilterStyle + ShowActiveSchemeOnly + LiveSourceIssuesEnabled + + SnapshotAutomaticallyBeforeSignificantChanges + + SnapshotLocationStyle + Default + + diff --git a/prototype.xcodeproj/xcuserdata/Star.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/prototype.xcodeproj/xcuserdata/Star.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index 5654def..094d897 100644 --- a/prototype.xcodeproj/xcuserdata/Star.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/prototype.xcodeproj/xcuserdata/Star.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -38,45 +38,43 @@ + startingLineNumber = "9" + endingLineNumber = "9"> + startingLineNumber = "11" + endingLineNumber = "11" + offsetFromSymbolStart = "26"> + startingLineNumber = "11" + endingLineNumber = "11" + offsetFromSymbolStart = "4"> @@ -87,13 +85,45 @@ shouldBeEnabled = "No" ignoreCount = "0" continueAfterRunningActions = "No" - filePath = "prototype/settingViewController.swift" - timestampString = "431769881.261007" + filePath = "prototype/loginViewController.swift" + timestampString = "432204499.232427" + startingColumnNumber = "9223372036854775807" + endingColumnNumber = "9223372036854775807" + startingLineNumber = "56" + endingLineNumber = "56" + landmarkName = "login(_:)" + landmarkType = "5"> + + + + + + + + diff --git a/prototype/Base.lproj/Main.storyboard b/prototype/Base.lproj/Main.storyboard index 45553a4..bfc7ee6 100755 --- a/prototype/Base.lproj/Main.storyboard +++ b/prototype/Base.lproj/Main.storyboard @@ -1,5 +1,5 @@ - + @@ -7,47 +7,55 @@ - + + + + + - @@ -65,36 +73,40 @@ - - - + + + + + - + + + + + - + - - - - + - @@ -124,12 +134,16 @@ - + + + + + @@ -139,7 +153,7 @@ - + @@ -159,49 +173,58 @@ - + + + + + - + - - + - - - + - + + + + - + @@ -212,7 +235,7 @@ - + @@ -234,8 +257,8 @@ - - + + @@ -243,25 +266,26 @@ - + - + - + + - + - + diff --git a/prototype/Info.plist b/prototype/Info.plist index ee65448..3a51372 100755 --- a/prototype/Info.plist +++ b/prototype/Info.plist @@ -31,6 +31,8 @@ UISupportedInterfaceOrientations UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight UISupportedInterfaceOrientations~ipad diff --git a/prototype/initViewController.swift b/prototype/initViewController.swift deleted file mode 100644 index 83416d4..0000000 --- a/prototype/initViewController.swift +++ /dev/null @@ -1,36 +0,0 @@ -// -// initViewController.swift -// prototype -// -// Created by Star on 14-9-7. -// Copyright (c) 2014年 langcaiye. All rights reserved. -// - -import UIKit - -class initViewController: UIViewController { - - - override func viewDidLoad() { - super.viewDidLoad() - - // Do any additional setup after loading the view. - } - - override func 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 - override func prepareForSegue(segue: UIStoryboardSegue?, sender: AnyObject?) { - // Get the new view controller using [segue destinationViewController]. - // Pass the selected object to the new view controller. - } - */ - -} diff --git a/prototype/loginViewController.swift b/prototype/loginViewController.swift new file mode 100644 index 0000000..12b90f8 --- /dev/null +++ b/prototype/loginViewController.swift @@ -0,0 +1,76 @@ +// +// initViewController.swift +// prototype +// +// Created by Star on 14-9-7. +// Copyright (c) 2014年 langcaiye. All rights reserved. +// + +import UIKit + +class loginViewController: UIViewController { + + + @IBOutlet var loginName : UITextField + @IBOutlet var loginSecr : UITextField + @IBOutlet var loginBTN : UIButton + + init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) { + super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil) + // Custom initialization + } + + init(coder aDecoder: NSCoder!) { + super.init(coder:aDecoder) + } + + + override func viewDidLoad() { + super.viewDidLoad() + // Do any additional setup after loading the view. + + loginBTN.addTarget(self,action:"login:",forControlEvents:UIControlEvents.TouchDown) + + } + + func login(sender: UIButton){ + + let content = "UserName:" + loginName.text + ";UserSecret:" + loginSecr.text + println(content) + let contenDate = content.dataUsingEncoding(NSUTF8StringEncoding) + + var path:NSString=NSHomeDirectory(); + var fileName:NSString="/lc.txt" //login crendential + path=path.stringByAppendingString(fileName) +// println(path); + + var file=NSFileManager() + if ( !file.fileExistsAtPath(path)) { + file.createFileAtPath(path,contents:contenDate,attributes:nil) + println("create file") + } + else{ + println("file existing") + var str:NSString = NSString.stringWithContentsOfFile(path,encoding:NSUTF8StringEncoding,error:nil) + println(str) + } + + } + + override func 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 + override func prepareForSegue(segue: UIStoryboardSegue?, sender: AnyObject?) { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. + } + */ + +} diff --git a/prototype/mainNavigationController.swift b/prototype/mainNavigationController.swift new file mode 100644 index 0000000..03d86bc --- /dev/null +++ b/prototype/mainNavigationController.swift @@ -0,0 +1,80 @@ +// +// mainViewController.swift +// prototype +// +// Created by Star on 14-9-9. +// Copyright (c) 2014年 langcaiye. All rights reserved. +// + +import UIKit + +class mainNavigationController: UINavigationController { + + + override func viewDidLoad() { + super.viewDidLoad() + + var btnOut:UIButton = UIButton.buttonWithType(UIButtonType.System)as UIButton + btnOut.frame = CGRectMake(0,320,320,30) + btnOut.setTitle("Log Out",forState:UIControlState.Normal) + btnOut.addTarget(self,action:"logout:",forControlEvents:UIControlEvents.TouchDown) + self.view.addSubview(btnOut) + + } + + override func viewDidAppear(animated: Bool){ + testLogin() + } + + override func didReceiveMemoryWarning() { + super.didReceiveMemoryWarning() + // Dispose of any resources that can be recreated. + } + + //to auto-login-in + func testLogin(){ + var path:NSString=NSHomeDirectory(); + var fileName:NSString="/lc.txt" //login crendential + path=path.stringByAppendingString(fileName) + // println(path); + + var file=NSFileManager() + if ( !file.fileExistsAtPath(path)) { + println("file not existing") + + var sty = UIStoryboard(name: "Main",bundle: nil) + var loginVC:UIViewController = sty.instantiateViewControllerWithIdentifier("loginView") as UIViewController + + self.presentViewController(loginVC,animated: true,completion:nil) + println("show login interface") + } + else{ + println("file existing") + var str:NSString = NSString.stringWithContentsOfFile(path,encoding:NSUTF8StringEncoding,error:nil) + println(str) + } + } + + + func logout(sender: UIButton){ + var file=NSFileManager() + var path=NSHomeDirectory(); + var fileName:NSString="/lc.txt" //login crendential + path=path.stringByAppendingString(fileName) + file.removeItemAtPath(path,error:nil) + println("file deleted") + + testLogin() + } + + /* + // #pragma mark - Navigation + + // In a storyboard-based application, you will often want to do a little preparation before navigation + override func prepareForSegue(segue: UIStoryboardSegue?, sender: AnyObject?) { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. + } + */ + +} diff --git a/prototype/settingViewController.swift b/prototype/settingViewController.swift index eaf08f0..ffb9301 100644 --- a/prototype/settingViewController.swift +++ b/prototype/settingViewController.swift @@ -9,20 +9,40 @@ import UIKit class settingViewController: UIViewController { + @IBOutlet var doneBTN : UIButton override func viewDidLoad() { super.viewDidLoad() //button for submit all settings and return. - var btnDone:UIButton = UIButton.buttonWithType(UIButtonType.System)as UIButton - btnDone.frame = CGRectMake(0,320,320,30) - btnDone.setTitle("完成",forState:UIControlState.Normal) - btnDone.addTarget(self,action:"settingDone:",forControlEvents:UIControlEvents.TouchDown) - self.view.addSubview(btnDone) + doneBTN.addTarget(self,action:"settingDone:",forControlEvents:UIControlEvents.TouchDown) } //func to return to the first screen func settingDone(sender: UIButton){ - self.presentingViewController.presentingViewController.dismissModalViewControllerAnimated(true) + + let content = "UserName:a;UserSecret:c" + println(content) + let contenDate = content.dataUsingEncoding(NSUTF8StringEncoding) + + var path:NSString=NSHomeDirectory(); + var fileName:NSString="/lc.txt" //login crendential + path=path.stringByAppendingString(fileName) + // println(path); + + var file=NSFileManager() + if ( !file.fileExistsAtPath(path)) { + file.createFileAtPath(path,contents:contenDate,attributes:nil) + println("create file") + } + else{ + println("file existing") + var str:NSString = NSString.stringWithContentsOfFile(path,encoding:NSUTF8StringEncoding,error:nil) + println(str) + } + + + self.presentingViewController.presentingViewController.presentingViewController.dismissViewControllerAnimated(true,nil) + } override func didReceiveMemoryWarning() {