我有大约 50 张图像,每张图像的尺寸为 50 x 50 像素。我希望用户选择其中之一。所以首先我想到了 UITableView,但这不是正确的事情。它浪费了大量的屏幕空间。与其将所有图像一个接一个地放置,不如显示一个由 6 列和 n 行组成的网格。
我将使用 UIScrollView 并用 UIView 对象填充它,我会自动排列这些对象,使它们看起来像网格。这是要走的路吗?或者还有其他建议吗?
最佳答案
我在我的应用程序中做了一些非常类似的事情 - 一个 NxN 网格,下面有一个图像,顶部有另一个 subview 来绘制“线条”,所有这些都由 UIScrollView 拥有。我建议使用单独的 View 来绘制图像,例如:
-(void) drawRect(CGRect rect) {
CGRect smallerRect = CGRectMake(x, y, width, height);
[yourImage drawRect: smallerRect];
// repeat as needed to draw the grid
}
另一张海报提到,如果您的 View 由 UIScrollView 拥有,您将无法获取触摸事件 - 这根本不是事实。我有它的工作。不过,您可能需要设置以下内容:
[yourScrollView setUserInteractionEnabled: YES]
[yourGridView setUserInteractionEnabled: YES]
关于iphone - 您将如何在 iPhone 应用程序中实现可滚动网格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/820570/