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

被刻印的时光 ゝ 提交于 2019-12-20 08:36:08

问题


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?


回答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.




回答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...



来源:https://stackoverflow.com/questions/3078665/whats-the-difference-between-an-detail-disclosure-button-and-an-disclosure-indi

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!