From 3eae83da3bb830e852ff333d0cabdbbd2a70d3cf Mon Sep 17 00:00:00 2001 From: Cole Alban Date: Thu, 25 Aug 2016 19:42:12 -0400 Subject: [PATCH 1/2] Fix code signing issue --- .DS_Store | Bin 10244 -> 10244 bytes Vendoo.xcodeproj/project.pbxproj | 2 +- Vendoo/Info.plist | 4 ++-- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.DS_Store b/.DS_Store index 61cbc18476e1e3c0cff57edf742f2620230c0cbb..e0b4cb560bdc21d1e57ce98804a2047c4e0c098e 100644 GIT binary patch delta 118 zcmZn(XbG6$aFU^hRb>Si7RW6sIHB~%4+(hY-?^K%OrK!DLkaq(r1>|yN*!XI*zjO8yTV^~00lP NSAppTransportSecurity - NSIncludeSubdomains + NSAllowsArbitraryLoads NSExceptionAllowsInsecureHTTPLoads NSExceptionMinimumTLSVersion TLSv1.1 - NSAllowsArbitraryLoads + NSIncludeSubdomains UILaunchStoryboardName From ec85d80a9adc5d82830962e3337786b182c4fa6f Mon Sep 17 00:00:00 2001 From: Cole Alban Date: Wed, 7 Sep 2016 02:19:09 -0400 Subject: [PATCH 2/2] Fixed Keyboard issue for iPhone 6 --- Vendoo/ItemImagePickerViewController.swift | 87 ++++++++++++++++--- Vendoo/Main.storyboard | 99 +++++++++++++--------- 2 files changed, 137 insertions(+), 49 deletions(-) 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 @@ + + + +