相关疑难解决方法(0)

将子视图延迟加载到非分页UIScrollView中

我正在尝试实现类似幻灯片的UIScrollView,它将填充目录页面的缩略图.选择缩略图图像将使主UIScrollView移动到所选页面.目录可能包含100 - 200页,我只想在需要时懒洋洋地加载它们.

我在启用了分页的UIScrollView中完成了此操作,但在非分页方案中没有看到任何最佳方法.在任何时候UIScrollView中都会显示6个缩略图(滚动视图时为+ 1).我想在滚动视图时出列并重用缩略图的UIView,就像我在主UIScrollView(这是一个分页滚动视图)中所做的那样.

谢谢 -

JK

iphone uiscrollview

3
推荐指数
1
解决办法
5839
查看次数

是否显示UIView?

我有一个UIViewController.根UIView包含一个自定义UIScrollView,用于在网格中显示缩略图图像(ThumbnailGrid类).这个网格可以包含很多显示图像的UIViews(GridTile类).因为有很多网格图块,用户可以向下滚动ThumbnailGrid.我只想加载用户实际可以看到的网格图块的图像,我不想为屏幕边缘的网格图块加载图像.

如何确定是否在屏幕上显示其中一个GridTile UIView?

我尝试了以下但它似乎总是返回false.

- (bool) isViewDisplayed:(UIView*)view
{
        CGRect viewFrame = view.frame;
        CGRect appFrame = [[UIScreen mainScreen] applicationFrame];
        if (CGRectIntersectsRect(viewFrame, appFrame)) return true;
        return false;
}
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

在此先感谢您的帮助!

编辑

解决方案

事实证明坐标系统是错误的,所以我得到了一些奇怪的事情,其中​​方法应该返回true,而是返回false,反之亦然.

- (bool) isViewDisplated:(UIView*)view
{
    CGRect viewFrame = [parentOfView convertRect:view.frame toView:nil]; 
    CGRect appFrame = [[UIScreen mainScreen] applicationFrame];
    if (CGRectIntersectsRect(viewFrame, appFrame)) return true;
    return false;
}
Run Code Online (Sandbox Code Playgroud)

objective-c uiview ios

3
推荐指数
1
解决办法
632
查看次数

标签 统计

ios ×1

iphone ×1

objective-c ×1

uiscrollview ×1

uiview ×1