1

我想展示一个弹出框。目前我可以检索整个单元格的框架(如此处所述。是否可以获取配件的框架(UITableViewCellAccessoryType)?

我想检索accessoryButtonTappedForRowWithIndexPathor中的值didSelectRowAtIndexPath

4

2 回答 2

0

我能想到的最好的方法是计算固定尺寸的框架。首先你得到单元格的框架rectForRowAtIndexPath。比你计算accessoryType框架。就我而言,我可以提供 C# 代码,但您可以轻松地将其转换为 Objective-C 或推出您自己的解决方案:

int detailDisclosureSize = 24;
RectangleF accessoryPosition = new RectangleF(cellPosition.X + cellPosition.Width - detailDisclosureSize * 2.45f, cellPosition.Y + cellPosition.Height/2 - detailDisclosureSize/2, detailDisclosureSize, detailDisclosureSize);

cellPosition是 的结果rectForRowAtIndexPath。现在您可以使用 将其转换为真实坐标convertRect:toView:

但如果出现新的屏幕尺寸,该解决方案将不起作用。由于目前没有其他解决方案,我将使用这个或整个单元格大小。

于 2014-10-23T07:08:08.347 回答
-1

didSelectRowAtIndexPath

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
CGRect accessoryRect = cell.accessoryView.frame;
于 2014-10-22T19:25:32.063 回答