【问题标题】:MBProgressHUD blocking user interactionMBProgressHUD 阻止用户交互
【发布时间】:2013-01-11 03:01:49
【问题描述】:

我的应用程序在屏幕上有一个MBProgressHUD,而CLLocationManager 在后台的一个单独线程中获取用户当前位置。有时定位过程开始需要很长时间,显然我想让用户决定是否离开屏幕。问题是用户界面似乎被MBProgressHUD 阻止,因此用户无法按下后退按钮。

有解决这个问题的实现设计吗?

【问题讨论】:

    标签: objective-c cllocationmanager nsthread mbprogresshud


    【解决方案1】:

    为了实现非模态行为,只需禁用MBProgressHUD 上的用户交互,这样触摸就会通过它。

    Objective-C

    theHUD.userInteractionEnabled = NO;
    

    Swift 4.x

    theHUD.isUserInteractionEnabled = false
    

    【讨论】:

    • 这是否意味着它背后的视图会收到事件?如何禁用 hud 后面的点赞按钮?
    • 只禁用它们直到 HUD 正在加载的数据被检索到?
    • 通过将 isUserInteractionEnabled 设置为 false,您是在告诉控件将触摸事件传递给父视图。
    猜你喜欢
    • 2021-02-22
    • 1970-01-01
    • 2012-07-22
    • 2021-05-08
    • 1970-01-01
    • 1970-01-01
    • 2017-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多