复选标记表示当时选定的行,左图像是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中处理UITableViewCellAccessoryDetailDisclosureButton的正确方法应该是什么?
答案 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
。