获取UITableViewCellAccessoryType的框架

时间:2014-10-22 14:21:23

标签: ios uitableview accessoryview

我想提出一个popover。目前我可以检索整个单元格的框架(如here所述)。是否可以获得附件的框架(UITableViewCellAccessoryType)?

我想检索accessoryButtonTappedForRowWithIndexPathdidSelectRowAtIndexPath中的值。

2 个答案:

答案 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);

cellPositionrectForRowAtIndexPath的结果。现在,您可以使用convertRect:toView:将其转换为实际坐标。

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