diff --git a/Seasonizer.xcodeproj/project.pbxproj b/Seasonizer.xcodeproj/project.pbxproj index 76740c0..6bba915 100644 --- a/Seasonizer.xcodeproj/project.pbxproj +++ b/Seasonizer.xcodeproj/project.pbxproj @@ -138,6 +138,7 @@ TargetAttributes = { 87549C3E1B34067200CD1868 = { CreatedOnToolsVersion = 6.3.2; + DevelopmentTeam = LS389VJ9WF; }; }; }; @@ -276,10 +277,14 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; INFOPLIST_FILE = Seasonizer/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 9.1; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "de.uni-heidelberg.ios-dev-kurs.seasonizer"; + PRODUCT_BUNDLE_IDENTIFIER = "de.uni-heidelberg.ios-dev-kurs.colin.seasonizer"; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE = ""; + TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; @@ -288,10 +293,14 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; INFOPLIST_FILE = Seasonizer/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 9.1; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "de.uni-heidelberg.ios-dev-kurs.seasonizer"; + PRODUCT_BUNDLE_IDENTIFIER = "de.uni-heidelberg.ios-dev-kurs.colin.seasonizer"; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE = ""; + TARGETED_DEVICE_FAMILY = "1,2"; }; name = Release; }; diff --git a/Seasonizer/AccessoryListViewController.swift b/Seasonizer/AccessoryListViewController.swift index 1c32a19..3bc3b30 100644 --- a/Seasonizer/AccessoryListViewController.swift +++ b/Seasonizer/AccessoryListViewController.swift @@ -16,7 +16,15 @@ class AccessoryListViewController: UITableViewController { var accessories: [Accessory]? var selectedAccessory: Accessory? + private var indexOfSelectedAccessory = 0 + override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { + if segue.identifier == "selectedAccessory" { + guard let indexPath = tableView.indexPathForSelectedRow else {return } + selectedAccessory = accessories![indexPath.row] + } + } + // MARK: User Interaction // TODO: Implement `prepareForSegue(_:sender:)` to set `selectedAccessory` when the "selectedAccessory" Segue is performed. @@ -28,10 +36,24 @@ class AccessoryListViewController: UITableViewController { } */ - -} - + // MARK: - Table View Data Source // TODO: Implement the `UITableViewDataSource` protocol. + override func numberOfSectionsInTableView(tableView: UITableView) -> Int { + return 1 + } + + override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + return (accessories?.count)! + } + + override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { + let cell = tableView.dequeueReusableCellWithIdentifier("AccessoryCell", forIndexPath: indexPath) as UITableViewCell + + cell.imageView!.image = accessories![indexPath.row].image + cell.textLabel!.text = accessories![indexPath.row].title + return cell + } +} \ No newline at end of file diff --git a/Seasonizer/CanvasViewController.swift b/Seasonizer/CanvasViewController.swift index c8cebcb..6ef0316 100644 --- a/Seasonizer/CanvasViewController.swift +++ b/Seasonizer/CanvasViewController.swift @@ -25,7 +25,6 @@ class CanvasViewController: UIViewController, UINavigationControllerDelegate, UI /// Eine View, die _über_ der `photoImageView` positioniert ist und die Accessories anzeigt. @IBOutlet weak var accessoryOverlayView: UIView! - // MARK: Accessory Handling /// Displays the accessory view on the canvas and enables user interaction with it. @@ -72,6 +71,7 @@ class CanvasViewController: UIViewController, UINavigationControllerDelegate, UI return renderedPicture } + var selectedAccessory : Accessory? // MARK: User Interaction @@ -118,6 +118,15 @@ class CanvasViewController: UIViewController, UINavigationControllerDelegate, UI self.presentViewController(activityViewController, animated: true, completion: nil) } + override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { + switch segue.identifier! { + case "AccessoryView": + guard let accessoryListViewController = (segue.destinationViewController as? UINavigationController)?.topViewController as? AccessoryListViewController else {break} + accessoryListViewController.accessories = allAccessories + default: + break + } + } // TODO: Implement `prepareForSegue(_:sender:)` to pass `allAccessories` on to `AccessoryListViewController`. /* @@ -128,7 +137,6 @@ class CanvasViewController: UIViewController, UINavigationControllerDelegate, UI } */ - // TODO: Implement an `@IBAction func unwindToCanvas(segue: UIStoryboardSegue)` Unwing Segue that the `AccessoryListViewController` can exit to. // TODO: For the "selectedAccessory" segue, obtain the selected accessory and add it to the canvas. @@ -151,6 +159,23 @@ class CanvasViewController: UIViewController, UINavigationControllerDelegate, UI self.addAccessoryView(accessoryView) */ + + @IBAction func unwindToCanvas (segue: UIStoryboardSegue) { + switch segue.identifier! { + case "selectedAccessory": + guard let accessoryListViewController = segue.sourceViewController as? AccessoryListViewController, + selectedAccessory = accessoryListViewController.selectedAccessory else { + break + } + let accessoryView = AccessoryView(accessory: selectedAccessory) + accessoryView.center = accessoryOverlayView.convertPoint(accessoryOverlayView.center, fromView: accessoryOverlayView.superview) + addAccessoryView(accessoryView) + case "ExitFromButton": + break + default: + break + } + } } diff --git a/Seasonizer/Main.storyboard b/Seasonizer/Main.storyboard old mode 100644 new mode 100755 index 926189e..79e01ab --- a/Seasonizer/Main.storyboard +++ b/Seasonizer/Main.storyboard @@ -1,7 +1,9 @@ + + @@ -15,14 +17,127 @@ + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -44,7 +159,7 @@ - +