iphone - 如何在 UIScrollView 中获取 UIView 中对象的位置

标签 iphone uiview uiscrollview position uislider

所以可以说我有一个 UIScrollView,其中有 3 个 UIView,每个 UIView 中都有一个 UISlider。它们在 UIScrollView 中垂直定位。

我现在在 UIScrollView 中还有第四个 UIView,我希望根据已使用的 slider 的位置来移动它。

因此,在我传递给发送者的 sliderChanged 方法中,我获取了 slider 的位置,并将第四个 UIWindow 的位置调整为其 y。这在第一个 UIView 上效果很好,但一旦在另一个 UIView 上,它迫使我向下滚动,使用 slider 移动第四个 UIView 但停留在 UIScrollView 的开头

我正在使用:

[4thView setCenter:CGPointMake([4thView center].x, [slider center].y+10)];

我需要的是获取 slider 相对于scrollView内容的位置,而不是相对于其UIView的位置,这样我就可以相对于scrollView内容再次设置第四个 View 。

最佳答案

您可以通过UIView的实例方法转换点。

- (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view
- (CGPoint)convertPoint:(CGPoint)point fromView:(UIView *)view

例如,我想将viewA上的ponint转换为scrollViewB的坐标。

CGPoint aPtInScrollView = [viewA convertPoint:aPoint toView:scrollViewB]; 

或者,我想知道viewA在scrollViewB中的位置。

 CGPoint aPosViewA = [scrollViewB convertPoint:CGPointZero fromView:viewA]; 

关于iphone - 如何在 UIScrollView 中获取 UIView 中对象的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4663954/

相关文章:

iphone - UICollectionView 报纸状布局

iphone - CSS 三 Angular 形 : Thin border between container and triangle (iPad/Landscape iPhone)

iphone - 将相同的 MPMediaItem 添加到 iPod 队列时会出现大问题 - 我如何跟踪正在播放的是哪一个?

ios - willMoveToWindow 被调用两次

ios - 在应用程序启动时, subview 在设备的不同初始方向上采用不同的帧大小

iphone - 我应该将图像保存在数据库中还是文件夹中?

ios - 子类的 UIView 标准协议(protocol)

objective-c - Objective-C : Draw(Write) on Touch in a UIScrollView

ios - UIView.animateWithDuration 或 UIScrollView.animateWithDuration - 如何在当前状态暂停

ios - UIScrollView 中的 UIStackView 不滚动