diff --git a/Vendoo/ItemImagePickerViewController.swift b/Vendoo/ItemImagePickerViewController.swift
index 64d2ec7..82572d0 100644
--- a/Vendoo/ItemImagePickerViewController.swift
+++ b/Vendoo/ItemImagePickerViewController.swift
@@ -18,18 +18,24 @@ class ItemImagePickerViewController: UIViewController {
//Outlets
@IBOutlet weak var cancelButton: UIButton!
+ @IBOutlet weak var descriptionLabel: UILabel!
+ @IBOutlet weak var quantityLabel: UILabel!
@IBOutlet weak var possibleItemImageMain: UIImageView!
@IBOutlet weak var possibleItemImage2: UIImageView!
@IBOutlet weak var possibleItemImage3: UIImageView!
@IBOutlet weak var possibleItemImage4: UIImageView!
@IBOutlet weak var possibleItemImage5: UIImageView!
@IBOutlet weak var itemQuantity: UITextField!
+ @IBOutlet weak var titleLabel: UILabel!
@IBOutlet weak var itemName: UITextField!
@IBOutlet weak var itemDescription: UITextView!
@IBOutlet weak var itemPrice: UITextField!
+ @IBOutlet weak var textEditScrollView: UIScrollView!
@IBOutlet weak var categoryPicker: UIPickerView!
+ @IBOutlet weak var priceLabel: UILabel!
@IBOutlet weak var containerScrollView: UIScrollView!
+
//class variables
var pickerData: [String] = [String]()
var itemImagesSelections = [false,false,false,false,false]
@@ -51,7 +57,7 @@ class ItemImagePickerViewController: UIViewController {
self.itemQuantity.delegate = self
self.itemPrice.delegate = self
self.picker.delegate = self
-
+ addEditableItemsToScrollView()
// Input data into the Array:
pickerData = ["Category 1", "Category 2", "Category 3", "Category 4", "Category 5", "Category 6"]
@@ -59,6 +65,8 @@ class ItemImagePickerViewController: UIViewController {
let tapGesture2 = UITapGestureRecognizer(target: self, action: #selector(ItemImagePickerViewController.takePicture))
//tapGesture.cancelsTouchesInView = true
self.view.addGestureRecognizer(tapGestureMain)
+
+
//self.possibleItemImageMain.addGestureRecognizer(tapGestureMain)
//self.possibleItemImage2.addGestureRecognizer(tapGesture2)
//self.possibleItemImage3.addGestureRecognizer(tapGesture)
@@ -68,6 +76,7 @@ class ItemImagePickerViewController: UIViewController {
}
+
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
@@ -81,6 +90,29 @@ class ItemImagePickerViewController: UIViewController {
+
+
+
+ /*
+ This function is called in the viewDidLoad function.
+ It will load all these editable items into the scroll view
+ being used to control the text editing views
+ */
+ func addEditableItemsToScrollView(){
+ self.textEditScrollView.addSubview(self.itemName)
+ self.textEditScrollView.addSubview(self.itemDescription)
+ self.textEditScrollView.addSubview(self.itemQuantity)
+ self.textEditScrollView.addSubview(self.priceLabel)
+ self.textEditScrollView.addSubview(self.titleLabel)
+ self.textEditScrollView.addSubview(self.quantityLabel)
+ self.textEditScrollView.addSubview(self.descriptionLabel)
+ self.textEditScrollView.addSubview(self.itemPrice)
+ }
+
+
+
+
+
}
//MARK: - Navigation methods
@@ -91,7 +123,6 @@ extension ItemImagePickerViewController {
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
-
if(segue.identifier == "CategoriesSegue"){
print(self.itemName.text!)
print(self.itemDescription.text!)
@@ -338,8 +369,8 @@ extension ItemImagePickerViewController: UITextViewDelegate {
textView.textColor = UIColor.blackColor()
//optional
}
- self.containerScrollView.setContentOffset(CGPointMake(0, 200), animated: true)
textView.becomeFirstResponder()
+ self.textEditScrollView.setContentOffset(CGPoint( x: 0, y: 100), animated: true)
}
func textViewDidEndEditing(textView: UITextView) {
@@ -348,7 +379,16 @@ extension ItemImagePickerViewController: UITextViewDelegate {
textView.textColor = UIColor.lightGrayColor()
//optional
}
- textView.resignFirstResponder()
+ self.textEditScrollView.setContentOffset(CGPoint( x: 0, y: 0), animated: true)
+ }
+
+ //Will check for the return key so it can dismiss the text view keyboard
+ func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {
+ if text == "\n"{
+ textView.resignFirstResponder()
+ return true
+ }
+ return true
}
func textViewDidChange(textView: UITextView) {
@@ -375,13 +415,7 @@ extension ItemImagePickerViewController: UITextFieldDelegate {
self.view.endEditing(true)
}
- func textFieldDidBeginEditing(textField: UITextField) {
- self.containerScrollView.setContentOffset(CGPointMake(0, 200), animated: true)
- }
- func textFieldDidEndEditing(textField: UITextField) {
- self.containerScrollView.setContentOffset(CGPointMake(0, 0), animated: true)
- }
}
//Mark: - IBActions
@@ -499,3 +533,36 @@ extension ItemImagePickerViewController {
}
+
+//All these functions will handle the scrolling of the editable elements into view
+extension ItemImagePickerViewController{
+
+ /*
+ Each of these functions are event handlers on edit begin/end for
+ each of the editable elements in the view. This will scroll them into view.
+ To see which function controls what, check the function name
+ */
+ @IBAction func onTitleEditEnd(sender: AnyObject) {
+ self.textEditScrollView.setContentOffset(CGPoint( x: 0, y: 0), animated: true)
+ }
+
+ @IBAction func onPriceEditEnd(sender: AnyObject) {
+ self.textEditScrollView.setContentOffset(CGPoint( x: 0, y: 0), animated: true)
+ }
+ @IBAction func onPriceEditBegin(sender: AnyObject) {
+ self.textEditScrollView.setContentOffset(CGPoint( x: 0, y: 50), animated: true)
+ }
+
+ @IBAction func onQuantityEditBegin(sender: AnyObject) {
+ self.textEditScrollView.setContentOffset(CGPoint( x: 0, y: 50), animated: true)
+ }
+
+ @IBAction func onQuantityEditEnd(sender: AnyObject) {
+ self.textEditScrollView.setContentOffset(CGPoint( x: 0, y: 0), animated: true)
+ }
+ //This will scroll the title into view when editing it
+ @IBAction func editingTitleBegan(sender: AnyObject) {
+ self.textEditScrollView.setContentOffset(CGPoint( x: 0, y: 0), animated: true)
+ }
+
+}
diff --git a/Vendoo/Main.storyboard b/Vendoo/Main.storyboard
index 98bbf3b..8cf4967 100755
--- a/Vendoo/Main.storyboard
+++ b/Vendoo/Main.storyboard
@@ -362,6 +362,10 @@
+
+
+
+
@@ -369,6 +373,10 @@
+
+
+
+