获取 UIScrollView 中可见视图之外的 UIButtons 的框架/原点

Posted

技术标签:

【中文标题】获取 UIScrollView 中可见视图之外的 UIButtons 的框架/原点【英文标题】:Getting frame/origin of UIButtons that are outside of visible view in a UIScrollView 【发布时间】:2013-06-08 04:52:51 【问题描述】:

如何获取位于 UIScrollView 当前可见区域之外的 UIButton 的正确框架(更重要的是,原点)?似乎当它们不可见时,我得到了错误的值(即,我使用收到的框架值布局子视图,当我向下滚动到它时,它位于错误的位置。)有什么想法吗?

【问题讨论】:

【参考方案1】:

我再次回答了我自己的问题。如果您有出口和/或对按钮的引用,则需要在 scrollViewDidScroll 方法中重新引用您的按钮/标签/自定义视图框架。就我而言,我试图将自定义视图框架与按钮框架对齐,因此实现如下所示:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
    // Enumerate through each object you're looking to reposition and compare them:
    if(!(CGRectEqualToRect(bsv.frame, btn.frame))) bsv.frame = btn.frame;

我希望这会对那里的人有所帮助。

【讨论】:

以上是关于获取 UIScrollView 中可见视图之外的 UIButtons 的框架/原点的主要内容,如果未能解决你的问题,请参考以下文章

仅在可见时向 UIScrollView 添加视图

在 UIScrollView 中获取 UIImage 可见部分的正确坐标

键盘可见的 UIScrollView

裁剪边界之外的 UIScrollview 子视图未接收到触摸

我是不是需要删除 UIScrollView 中不可见的子视图以使其平稳运行?

如何使用主 iPhone 视图之外的 UI 元素在 Interface Builder 中设置 UIScrollView?