1

我正在设计一个游戏,它在 UIScrollView 中有一个大的十六进制样式地图,在另一个视图中有一个 1/10 比例的“迷你地图”。迷你地图有一个矩形,用于指示滚动视图中可见的当前区域。定位矩形以使其与主地图同步的最佳方法是什么?

4

1 回答 1

2

您可以随时获取 UIScrollView contentOffset。您可以在 UIScrollView 委托方法中检查此值- (void)scrollViewDidScroll:(UIScrollView *)scrollView。一旦你有了 contentOffset,你应该将它除以你的 UIScrollViewcontentSize减去 it's frame.size。这给了你一个浮点数,然后可以使用该浮点数来确定矩形在较小视图中的位置。下面的一些代码显示我在说什么。我只是给你x定位的例子。冲洗并重复 y 定位。

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    CGFloat xRat;
    CGFloat xPos;

    xRat = scrollView.contentOffset.x/(scrollView.contentSize.width - scrollView.frame.size.width);
}

xRat是滚动视图滚动的百分比(以浮点格式)。因此,只需使用 xRat 以该百分比沿 x 轴定位直线。

于 2012-12-12T17:26:00.537 回答