【发布时间】:2010-07-14 18:24:11
【问题描述】:
我在 UITableView 单元格中的 UITableView 中有一个 UIButton。结果是一个带有按钮的列表。当 UIButton 被按下时,它会调用一个 touchUpInside 方法,一切都很好。我遇到的问题是我想在按下按钮时从按钮的位置(框架)缩小新视图。如果我只是得到 UIButton 的边界
origButton.frame
它位于 UITableCell 的坐标中,例如 3,50,40,25。这对于列表中的所有按钮都是相同的,所以无论列表中的哪个按钮被按下,我都会得到这些坐标。现在,如果我真的抓住了我的观点的坐标
self.frame
当调用 touchUpInside 方法时,我得到了一些更有用的东西。然后我得到我的单元格的坐标。伟大的!!所以我可以从 UIButton 中缩小一个新视图。太好了!!
但问题是:如果您向上滚动列表,点按按钮,则视图不会从按钮缩小,而是从屏幕下方的位置缩小。问题是,在向上滚动之前,我拥有的坐标是用于单元格的。事实上,所有单元格的所有坐标都反映了它们在表格中的实际位置,只有第一个可见集的坐标可用。滚动并没有改变这些坐标。
我想也许我可以使用超级视图的坐标,但这些都没有帮助。
任何人都知道如何获取表格中列出的按钮(或视图或任何其他项目)的准确坐标,还是不可能?
这是我计算新视图中心点的方法:
floatingView.center = CGPointMake(origButton.frame.origin.x +
origButton.frame.size.width / 2,
self.frame.origin.y + self.superview.frame.origin.y);
谢谢!
【问题讨论】:
标签: iphone uitableview