2

I’m trying to figure out where to put the Add button on my table view (on iOS). Its purpose is to create a new row in the table view, either inline or using a modal form.

There are 3 common positions for the + button:

  • in the navigation bar (contacts, calendar),
  • in the toolbar (reminders, mail, notes)
  • as the last row of the table view (reminders).

My (weak) guess is that Apple internal guidelines are:

  • in the navigation bar when the addition is not the main purpose of the app (contacts and calendar are mostly opened to look at existing entries),
  • in the toolbar when the addition is a very common operation (the purpose of reminders is to add things to do, mail and notes to write).

Is there a correct answer?

2
  • What is the function of your Add button? Commented Aug 27, 2020 at 13:08
  • The add button adds an item in the table view, inline or via a modal form. I will add it to my question!
    – Steve G.
    Commented Aug 27, 2020 at 13:33

1 Answer 1

1

From the Human Interface Guidelines:

In general, a navigation bar should contain no more than the view’s current title, a back button, and one control that manages the view’s contents.

Also, based on what I've seen in Apple's apps, if you need an Edit button, the Edit button should always go in the navigation bar.

So depending on if you need an Edit and/or a Back button, I would use one of these Navigation bar formats:

  1. < Back Title Edit (with Add in toolbar)
  2. Edit Title +
  3. < Back Title +
  4. < Back Title ... (pull-down menu)
1
  • This is really nice! I’d like to add the option to have a toolbar containing a pull down menu to the left and the plus button to the right (inspired by the mail app toolbar). I’m not really fan of the Edit button on the left of the nav bar, because this spot is so hard to reach. The Back button have the swipe right gesture, and the Cancel button have the swipe down to avoid reaching them, but an Edit button has none.
    – Steve G.
    Commented Sep 4, 2020 at 7:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.