如何获取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 的标题

如何从 UIButton 操作方法获取 UITableViewCell 对象?

如何从 UIScrollView 获取 UIButton 位置

我刚刚将 UIButton 添加到 UIView。如何获取按钮索引?

如何通过子类化 UIButton 来获取按钮的背景图像名称?