ios - 在不阻塞标签栏的情况下显示屏蔽的 BTProgressHUD?

标签 ios xamarin.ios xamarin uitabbarcontroller svprogresshud

是否可以在不阻止与标签栏交互的情况下显示带有 mask 的 BTProgressHUD?换句话说,是否可以将 BTProgressHUD 上的掩码限制为仅选项卡当前显示的 View Controller 而不是整个窗口?

BTProgressHUD.Show(status: "Oh hai", maskType: ProgressHUD.MaskType.Gradient);

BTProgressHUD mask blocks the ability to switch tabs.

我正在尝试将 MTMBProgressHUD 换成 BTProgressHUD(因为 reasons)。不幸的是,当我显示带有掩码的 BTProgressHUD 时,它会阻止用户在显示时选择另一个选项卡(MTMBProgressHUD 没有阻止)。我绝对需要阻止当前选项卡的 View Controller 中的任何进度/交互,但我不介意用户切换到另一个选项卡而不是等待当前选项卡完成任何需要进度 HUD 的任务。

这是 full sample code Gist .它有点复杂,因为它包含选项卡栏 Controller ,并且每个选项卡都需要能够控制自己的个人 HUD(当此问题得到解决时)。

最佳答案

some discussion on Twitter 之后与 BTProgressHUD 的创建者一起,确定这在当前的 v1.15 版本中是不可能的。他建议修改源代码以实现此目的。我能够将 working version in just a few lines 放在一起. (它仍然需要与使用共享实例的 BTProgressHUD.Show 方法集成,但我需要每个选项卡的离散 HUD。)

如果您从这个分支构建,您可以创建一个带有父 View (相对于默认窗口)的 BTProgressHUD,这将限制覆盖掩码的覆盖范围。

var progressHud = new ProgressHUD(View); // ctor overload requires the forked version
progressHud.Show(status: labelText, maskType: ProgressHUD.MaskType.Gradient);

Animated GIF showing tab switching while a HUD is shown

关于ios - 在不阻塞标签栏的情况下显示屏蔽的 BTProgressHUD?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28350074/

相关文章:

ios - 如何解决Insufficient Permission (to submit GPU work from background) (IOAF code 6)?

c# - UICollectionViewCell 定义 F#

Xamarin pan 手势识别器没有给出准确的坐标

c# - Xamarin iOS 访问地址簿请求权限中断应用程序

c# - 在没有 Storyboard 的情况下以编程方式创建 float 的可拖动按钮(Xamarin)

google-maps - Xamarin.Forms 中的 Google Place 自动完成

ios - Swift:如何从 UIImage 数组中提取图像文件名

ios - XCode 4.2 在多个目标设置上崩溃

iOS:授予服务器 Twitter 访问权限?

xamarin - 不支持 "User7ZipPath"参数