I want to allow the user to enter data on an iPhone.

I've got a screen that will look like:

            New Animal

Name:   Enter Name

Type:   [ Mammal ]  |  Amphibian 

Number of feet: 2

Or when Amphibian was selected:

Name:   Enter Name

Type:     Mammal    |[ Amphibian ]

Preferred Water: Salt Water

So the section below changes depending on the type selected.

Is this good or bad practice on an iPhone? And if it isn't, what's the best way of doing this?

1 Answer 1


Yes, but probably only when using multiple screens. First screen: type name, hit next. Next screen: select type. Next screen: select number of feet or preferred water, depending on last selection.

Something similar to setting up an account on Mail. You select where your account is and the next screen depends on which account host you selected.

  • I'm confused. After seeing other apps that use an UISegmentedControl to present a different view below, I've just read in the HIG A segmented control is a linear set of segments, each of which functions as a button that can display a different view. Page 132 Doesn't this mean that I can use a segmented control to do what I'm trying to do? developer.apple.com/library/ios/documentation/UserExperience/… Aug 24, 2011 at 21:46
  • 1
    Noooo. I UISegmentedControl in the nav bar would change the entire view below: exmaple. Any where else, it would be used to select from a predetermined set of options.
    – Stuart
    Aug 25, 2011 at 1:14
  • Your question is basically whether or not it is okay to change the options below depending on the selected information above. The simple answer is no; you would change which view is loaded next.
    – Stuart
    Aug 25, 2011 at 1:16
  • Ah. That makes more sense. It's only referring to a UISegmentedControl in the nav bar - it's not referring to the kind of control I'm after. Thanks for clearing that up. Aug 25, 2011 at 8:11

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.