在ios7中,UITableViewCellAccessoryDe​​tailDisclosureButton分为两个不同的附件按钮

时间:2013-09-11 11:59:32

标签: ios ios7 uitableview

ios7 UITableViewCellAccessoryDetailDisclosureButton ios6 UITableViewCellAccessoryDetailDisclosureButton

复选标记表示当时选定的行,左图像是iOS7模拟器,右图是iOS6模拟器。

关注点是UITableViewCellAccessoryDetailDisclosureButton in iOS7 has two parts, one part with right arrow accessory and other is the clickable "i" button rather than iOS6. 它是标准行为还是我做错了,如果它是标准的那么在iOS7中处理UITableViewCellAccessoryDe​​tailDisclosureButton的正确方法应该是什么?

2 个答案:

答案 0 :(得分:15)

mahboudz是正确的,因为行为现在已经区分开来。

如果您只设置了DetailButton,那么在iOS7中您会看到(i)作为可点击的配件按钮。但是在iOS6中你什么都看不到。因此,使用SDK7.0使用accessoryButtonTappedForRowWithIndexPath弹出详细视图不适用于iOS6设备,因为没有附件显示。

使用反向配置有类似的问题,但您将改为使用didSelectRowAtIndexPath

我发现的工作是在iOS7中使用类似的方法来处理extendedLayouts。

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) {
    cell.accessoryType =  UITableViewCellAccessoryDetailButton;
} else {
    cell.accessoryType =  UITableViewCellAccessoryDetailDisclosureButton;
}

所以在iOS7中我只使用DetailButton,在iOS7之前的版本中我使用DetailDiscloureButton

答案 1 :(得分:8)

这是正确的行为。在iOS 7中,您使用UITableViewCellAccessoryDetailDisclosureButton显示“详细信息按钮”和“披露指示符”。

如果您只喜欢“我”按钮,则可以使用UITableViewCellAccessoryDetailButton,如果您只喜欢“披露指标”,则可以使用UITableViewCellAccessoryDisclosureIndicator