What's the best way to design this screen (like note addition in Momento app)? [closed] - iphone

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 4 years ago.
Improve this question
I would like to create a page similar to the one where the user can add a note in the Momento app (screenshot below).
What's the best way to structure the View Controllers for this page? There is a tab-like menu in the center of the page. On the top half of the screen, is a view; and at the bottom-half, you get a keyboard (when entering text).
MY NEED : entering a note which can have three types of text (so three tabs) and a picture -> so four tabs in all.
On some analysis, goggle'ing, and thinking, I can think of these possibilities:
OPTION 1
A TabBarController with 4 tabs (but then I wouldn't be able to place the tab in the middle of the screen like in Momento app & I read (in some Stackoverflow discussions) that Apple guidelines don't recommend changing the tab bar from its natural position either.
OPTION 2
Have a view controller, say MyController. This will have 4 buttons (arranged next to each other in the middle of the screen, so that they appear like tabs).
Have one UIView object for the top-half of the page.
Have another UIView object for the bottom-half of the page.
Based on which of the four buttons is selected, I vary the content displayed in the top & bottom UIView objects.
Option 2 sounds good to me. But, I wanted to get an opinion on if it's correct, or is there some better way to achieve this? Thoughts please?

You should use a UITextView and set it's inputView as a view with those buttons. It should automatically slide with the keyboard just as you want it.
Hope this helps.
Cheers!

OK, here is where I would start. Two issues; the tabBar and handling the keyboard. The rest is just pushing a popping appropriate view controllers.
The TabBar: First Apple has some example code that deals with the Keyboard Accessory component which is probably how Momento renders their tabBarController like thingie. Here is the link. Their example handles the keyboard in a 'one off' way, unique to this particular app.
The Keyboard: As for a more generic approach to handing the keyboard, you may want to look at Michael Tyson's TPKeyboardAvoiding component on github. Here's the link for that one. The TPKeyboardAvoiding is quite nice in that it is a drop in component that handles keyboard issues for UITableView as well as UIScrollView.
One thing I haven't checked is if Mike's stuff is smart enough to handle the extra height on the Keyboard when it has an Accessory attached. (It's pretty smart though...).
Hope this helps.

Related

iOS - UIPickerView Dismiss with button or without a button?

Good Afternoon/Evening/Morning Folks,
I recently encountered a discussion with another developer on dismissing a UIPickerView. We work on a legacy enterprise application that had a lot of issues and was written very poorly (among other things). Since then, we revamped and fixed a lot of bugs with this program, strictly adhering to Apple's Human Interface Guidelines as much as possible while keeping to original requirements.
We seem to have a difference in opinion as Human Interface Guidelines do not really go into any detail about picker views. We implemented our new UIPickerView with a "Done," Button to confirm a selected value to be placed in a UITextField. Screen's input would be locked until they selected a value or clicked done.
Legacy application prior to our changes allowed users to utilize a done button but also by way of tapping a value selected in a picker. In addition, legacy application would also show selected UIPickerView value in UITextField prior to selection, wiping out original contents , if any was selected prior to opening a UIPickerView.
So, What is correct way to implement a UIPickerView per common practice or Strict Apple Documentation (if any exists). What is common practice?
Sorry, I cannot post any screen shots or code snippets due to business process reasons. I will do my best to explain if any questions arise.
Thanks,
We can figure this out through apps designed by Apple. Here are two examples
1. Contacts
Find a contact person in the Contacts app and set birthday. The picker shows up. While you are dragging the pickers, it does not set value to the text field. It happens only when you release the wheel. There is no Done button to hide the picker it self. To dismiss it, you can either click on the done button on navigation bar to end editing for the whole page, or click on another text field which pops a different keyboard.
2.Setting - Date&Time
Basically the same as Contacts app. Here you cannot even dismiss the picker.

Swift- How do I make it so that if the user clicks the button it takes them to a new view?

I'm currently trying to create a small notepad app, and i'm in need of help. I am using a Tabbed View Application. Say we had a view that has two text fields for Name and short description, and then a button beneath saying "Create Note".
How can I make this button change the view to my editor/notepad view that does not have the tabs at the bottom?
Thanks
If you are using storyboards, which I assume that you are, what you will want to use are triggered movements called segues.
To create one, right-click on the button and drag the line that appears to the second view, and then release.
It should look like this:
Then, when you release, a gray box will appear, with a list of segues. You can find out what each one does online, and as you get more advanced you can develop custom ones.
However, use Modal as a basic one to begin with.
Hope this helps,
Will.
PS. In the future, try and make your questions more specific, and do some research before you ask a question. It's important that you gain a good reputation on Stack Overflow if you want your questions answered properly.

Multiple selections in UITableViewController control [duplicate]

This question already has answers here:
UITableView Multiple Selection
(11 answers)
Closed 9 years ago.
I am still somewhat of a newbie to iOS development and I have two related questions. In the iOS mail app, one has the ability to go into edit mode, select multiple email messages, and perform some action on them, such as move or delete. Also, when entering edit mode, a toolbar appears at the bottom of the UITableViewController. I want to mimic this functionality but I'm having a hard time finding a resource to use as a guide.
I have added a navigation control to the tableviewcontroller as a container for the Edit button, but I'm not sure if this is the right direction for that. Also, when I add a toolbar control to the form in the storyboard view, it doesn't show up when the UITableViewController loads.
Can somebody point me in the right direction? Thanks!
I think what you want is very similar to what this tutorial does http://behindtechlines.com/2012/06/enabling-configuring-uitableview-edit-mode/

One Xib file for 2 states: showing & editing a object

The contacts application of the iPhone is a good illustration of my problem. Apple uses one view to show and edit contacts at the same time. When a user wants to edit a contact he simply presses the edit button on the right side of the navcontroller. The 'show contact' interface changes to the 'edit contact' interface and the user is able to edit the contact. When the user is finished editing he presses the 'done' button.
My question is, what is the easiest way to achieve this behavior?
I believe the iPhone CoreData Recipes sample code has everything you need, they have a page that is exactly as you describe:
http://developer.apple.com/library/ios/#samplecode/iPhoneCoreDataRecipes/Listings/ReadMe_txt.html
The short answer is that you can achieve this by using to separate view xibs which you can swap in and out. Personally I prefer to simply use code to hide and show the controls that need to change between the two views.

Configuring a UITabBar with more than 16 items

My UITabBarController contains more than 16 view controllers. When I go in the "More" tab, I can see all the UITabBarItems. If I click the "Edit" button, I can see the 16 first icons, but there is not enough room to display more, so starting from the 17th item, the icons are only partially displayed. Starting from the 21st item, the icons are not displayed at all. And it is not possible to access the rest of the icons with a scroll bar.
By the way, this question gives a theoretical answer to my question, but does not address this practical corner case.
You need consider other modes of displaying view controllers if you have more than 5. For example the facebook app shows a revealing sidebar, maybe you need to figure out a way of displaying stuff in a similar manner.