【问题标题】:detect when subview showed up on screen检测子视图何时出现在屏幕上
【发布时间】:2013-05-16 23:59:24
【问题描述】:

有 2 个函数,函数 1 下载数据(照片和名称),下载完成后我调用函数 2 用该数据更新屏幕(显示带有照片和名称的按钮缩略图)。

我在函数 1 中启动 ActivityIndicator,然后在函数 2 结束时将其删除。

问题是在运行这两个函数(并因此删除ActivityIndicator)后,应用仍然需要几秒钟的时间来处理数据,直到它最终能够在屏幕上显示。

想知道是否有任何方法可以检测到子视图(在我的例子中是按钮缩略图)出现在屏幕上。添加 subView 时类似于 viewDidLoadviewDidAppear 方法。

【问题讨论】:

  • 该死,我把水晶球忘在办公室了。那里-因为我看不到您的代码。对不起。
  • 你在主线程上做所有事情吗?
  • 对不起,如果我没有发布任何代码或我的问题不能完全理解..没有这样做,因为代码太多..是的,我正在使用块来下载数据和更新屏幕,尽管它们在不同的方法中。无论如何只是想知道是否有任何事件可以在加载 subView 后立即检测到。谢谢大家的帮助。

标签: iphone objective-c ipad ios6


【解决方案1】:

尝试合并一个块(我在做一些假设,因为你没有发布代码):

//start activity indicator
dispatch_async( dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    // Call function 1

    dispatch_async( dispatch_get_main_queue(), ^{
        // Call function 2
        // hide your activity indicator
    });
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-08
    • 2020-12-11
    • 2014-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-14
    相关资源
    最近更新 更多