diff --git a/Seasonizer/AccessoryListViewController.swift b/Seasonizer/AccessoryListViewController.swift index 1c32a19..2e31de1 100644 --- a/Seasonizer/AccessoryListViewController.swift +++ b/Seasonizer/AccessoryListViewController.swift @@ -28,10 +28,37 @@ class AccessoryListViewController: UITableViewController { } */ - + + 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: - Table View Data Source // TODO: Implement the `UITableViewDataSource` protocol. + +extension AccessoryListViewController { + + 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..7e31f7e 100644 --- a/Seasonizer/CanvasViewController.swift +++ b/Seasonizer/CanvasViewController.swift @@ -71,7 +71,9 @@ class CanvasViewController: UIViewController, UINavigationControllerDelegate, UI UIGraphicsEndImageContext() return renderedPicture } - + + + private var selectedAccessory : Accessory? // MARK: User Interaction @@ -128,9 +130,39 @@ class CanvasViewController: UIViewController, UINavigationControllerDelegate, UI } */ - + 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 + print(accessoryListViewController.accessories) + + default: + break + } + } + // TODO: Implement an `@IBAction func unwindToCanvas(segue: UIStoryboardSegue)` Unwing Segue that the `AccessoryListViewController` can exit to. + @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": + print("buttonExitToCanvas fired") + default: + break + } + } + + // TODO: For the "selectedAccessory" segue, obtain the selected accessory and add it to the canvas. /* HINTS: diff --git a/Seasonizer/Main.storyboard b/Seasonizer/Main.storyboard index 926189e..72c8a3b 100644 --- a/Seasonizer/Main.storyboard +++ b/Seasonizer/Main.storyboard @@ -1,5 +1,5 @@ - + @@ -15,15 +15,109 @@ + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +