What's the difference between a Detail Disclosure Button and a Disclosure Indicator?

17,922

Solution 1

From Apple's iPhone Human Interface Guidelines (a must-read if doing iPhone development):

Disclosure indicator. When this element is present, users know they can tap anywhere in the row to see the next level in the hierarchy or the choices associated with the list item. Use a disclosure indicator in a row when selecting the row results in the display of another list. Don’t use a disclosure indicator to reveal detailed information about the list item; instead, use a detail disclosure button for this purpose.

Detail disclosure button. Users tap this element to see detailed information about the list item. (Note that you can use this element in views other than table views, to reveal additional details about something; see “Detail Disclosure Buttons” for more information.) In a table view, use a detail disclosure button in a row to display details about the list item. Note that the detail disclosure button, unlike the disclosure indicator, can perform an action that is separate from the selection of the row. For example, in Phone Favorites, tapping the row initiates a call to the contact; tapping the detail disclosure button in the row reveals more information about the contact.

Solution 2

Once you use the detail disclosure button it acts like a button.
Meaning that the user has to tap this button in order to perform some action (you can catch this tap by implementing the - (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath method of the UITableViewDelegate).

If you use the indicator then it just draws the arrow on the right and you will have to implement the - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath in order to catch the tap on the entire table cell.

Hope it helps...

Share:
17,922

Related videos on Youtube

dontWatchMyProfile
Author by

dontWatchMyProfile

Based in the Czech Republic. Like to swim, like to eat ice cream. The big Cocoa and Cocoa Touch online Training / Session Videos list

Updated on September 01, 2020

Comments

  • dontWatchMyProfile
    dontWatchMyProfile over 3 years

    What's the difference between a Detail Disclosure Button and a Disclosure Indicator?

    For me, both things are the exact same thing, just that they look a little bit different. The first is a blue round button with an chevron to the right. The second is an simple chevron to the right. Both things mean the same, to me. They mean "more". But someone claimed that Apple will reject the app if the one or the other is used in the wrong situation.

    Does someone have an example when the blue Detail Disclosure Button is used, and when the simple Disclosure Indicator one is used?

  • dontWatchMyProfile
    dontWatchMyProfile almost 14 years
    Thanks. In which situations would I have to use which one? I see that Apple is using the simple chevron thing in Settings, which reveals "details". But then, "Detail Disclosure" is the same thing for me... makes not much sense why there's this difference.
  • Michael Kessler
    Michael Kessler almost 14 years
    I think that you may use the button approach when you may have different actions for disclosure button tap and table cell tap. Good example for this is the Wi-Fi settings in iPhone's Settings. When you have a list of available networks each cell has 2 actions: (1) cell selection selects the network and (2) disclosure tap opens the network details.
  • Dan F
    Dan F almost 13 years
    Do you know by chance if they will reject an app if a button does the same thing as tapping the row? I have a problem with using the indicator because my background color is dark, I need something more visible, and I'd rather not have to use a custom image for it
  • Brad Larson
    Brad Larson almost 13 years
    @Dan F - I'd prefer to stick with the UI conventions on the platform and simply use a custom image having a lighter version of the disclosure arrow. This is fairly easy to generate by grabbing the existing dark disclosure arrow and inverting the colors in an image editor. You then use that custom image in your application as the disclosure indicator. It didn't take me more than an hour to do this on my dark table rows.
  • Dan F
    Dan F almost 13 years
    The real problem is that I am making an app that retrieves the color scheme from a webservice, so I don't know if the background color will be light or dark at compile time. I could have two versions of the indicator, but that does complicate it just a little bit more
  • Admin
    Admin almost 12 years
    @BradLarson I'm not sure if the text you quoted exists in that article any more
  • Brad Larson
    Brad Larson almost 12 years
    @adamjansch - Yeah, they tend to update these documents fairly regularly. I still like the wording they used then, even if it's no longer in there. Thanks for updating the broken link, I hate when that stuff gets moved around on Apple's servers.
  • Admin
    Admin almost 12 years
    @BradLarson I prefer the old wording also, so this can act as a tribute to documentation gone by...
  • Basil Bourque
    Basil Bourque over 11 years
    @dontWatchMyProfile - Another example is Apple's list of contacts in the phone app. Tapping the row dials the phone to call that contact -- the main purpose of the app. But tapping directly on the "Detail Disclosure" button displays additional fields of information about that contact. In other words, tap the row to use the row, tap the Detail Disclosure button to display information about the row.
  • Daniel Romero
    Daniel Romero about 10 years
  • Brad Larson
    Brad Larson about 10 years
    @dnlR - Thanks. They keep moving that around.