我想提出一个popover。目前我可以检索整个单元格的框架(如here所述)。是否可以获得附件的框架(UITableViewCellAccessoryType
)?
我想检索accessoryButtonTappedForRowWithIndexPath
或didSelectRowAtIndexPath
中的值。
答案 0 :(得分:0)
didSelectRowAtIndexPath
中的
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
CGRect accessoryRect = cell.accessoryView.frame;
答案 1 :(得分: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:
将其转换为实际坐标。
但是如果出现新的屏幕尺寸,解决方案将无效。由于目前没有其他解决方案,我将使用这个或整个单元格大小。