如何获取uibutton(UITableViewCell的子视图)相对于整个窗口iOS Objective-C的位置?
Posted
技术标签:
【中文标题】如何获取uibutton(UITableViewCell的子视图)相对于整个窗口iOS Objective-C的位置?【英文标题】:How to get the position of a uibutton (subview of UITableViewCell) with respect to the whole window iOS objective-C? 【发布时间】:2015-11-25 11:07:47 【问题描述】:正如问题所说,我想获得一个 uibutton 的位置,如图所示,我必须从该 uibutton 显示一个弹出菜单(在 tableviews 视图中)。
我经历了Question1 和Question2。但是这些给了我不同的位置。
我用代码
CGRect windowRect = [_tableView convertRect:button.frame fromView:tempCell];
临时单元格是我选择的单元格。
我正在使用 kxMenu 作为弹出菜单,我使用以下代码。
[KxMenu showMenuInView:_tableView
fromRect:windowRect
menuItems:menuItems];
所以,我需要正确获取 windowRect。有人知道吗?
【问题讨论】:
您链接的问题1中的方法是什么?看起来像这样使用它应该可以帮助你:CGRect windowRect = [button convertRect:button.bounds toView:nil];
我使用此代码获取并且似乎正确CGPoint windowPoint = [button convertPoint:button.bounds.origin toView:self.view];
(在滚动视图中使用此代码)
【参考方案1】:
如果你使用
[_tableView convertRect:button.frame fromView:tempCell];
它将按钮 wrt tempcell 的框架转换为按钮框架 wrt _tableView
如果你想在窗口中获取按钮的框架,你应该这样做
[button convertRect:button.bounds toView:nil];
或
[button.superView convertRect:button.frame toView:nil];
【讨论】:
以上是关于如何获取uibutton(UITableViewCell的子视图)相对于整个窗口iOS Objective-C的位置?的主要内容,如果未能解决你的问题,请参考以下文章
触发 UIButton 时如何获取 touchesBegan 坐标?
如何从 UIButton 操作方法获取 UITableViewCell 对象?
如何从 UIScrollView 获取 UIButton 位置