在不阻塞标签栏的情况下显示屏蔽的 BTProgressHUD?
Showing a masked BTProgressHUD without blocking the tab bar?
是否可以在不阻止与标签栏交互的情况下显示带有遮罩的 BTProgressHUD?换句话说,可以将 BTProgressHUD 上的掩码限制为仅选项卡当前显示的视图控制器,而不是完整的 window?
BTProgressHUD.Show(status: "Oh hai", maskType: ProgressHUD.MaskType.Gradient);
我正在尝试将 MTMBProgressHUD 换成 BTProgressHUD(因为 reasons)。不幸的是,当我显示带有掩码的 BTProgressHUD 时,它会阻止用户在显示时选择另一个选项卡(MTMBProgressHUD 没有阻止)。我绝对需要在当前选项卡的视图控制器中阻止任何 progression/interaction,但我不介意用户切换到另一个选项卡而不是等待当前选项卡完成任何需要进度 HUD 的任务。
这里是full sample code Gist。它有点复杂,因为它包含选项卡栏控制器,并且每个选项卡都需要能够控制自己的个人 HUD(解决此问题后)。
在some discussion on Twitter with the creator of BTProgressHUD, it was determined this isn't possible in the current v1.15 release. He suggesting modifying the source to make this happen. I was able to put together the a working version in just a few lines之后。 (它仍然需要与使用共享实例的 BTProgressHUD.Show
方法集成,但我需要每个选项卡的离散 HUD。)
如果您从此分支构建,则可以创建一个带有父视图的 BTProgressHUD(与默认 window 相比),这将限制覆盖掩码的覆盖范围。
var progressHud = new ProgressHUD(View); // ctor overload requires the forked version
progressHud.Show(status: labelText, maskType: ProgressHUD.MaskType.Gradient);
是否可以在不阻止与标签栏交互的情况下显示带有遮罩的 BTProgressHUD?换句话说,可以将 BTProgressHUD 上的掩码限制为仅选项卡当前显示的视图控制器,而不是完整的 window?
BTProgressHUD.Show(status: "Oh hai", maskType: ProgressHUD.MaskType.Gradient);
我正在尝试将 MTMBProgressHUD 换成 BTProgressHUD(因为 reasons)。不幸的是,当我显示带有掩码的 BTProgressHUD 时,它会阻止用户在显示时选择另一个选项卡(MTMBProgressHUD 没有阻止)。我绝对需要在当前选项卡的视图控制器中阻止任何 progression/interaction,但我不介意用户切换到另一个选项卡而不是等待当前选项卡完成任何需要进度 HUD 的任务。
这里是full sample code Gist。它有点复杂,因为它包含选项卡栏控制器,并且每个选项卡都需要能够控制自己的个人 HUD(解决此问题后)。
在some discussion on Twitter with the creator of BTProgressHUD, it was determined this isn't possible in the current v1.15 release. He suggesting modifying the source to make this happen. I was able to put together the a working version in just a few lines之后。 (它仍然需要与使用共享实例的 BTProgressHUD.Show
方法集成,但我需要每个选项卡的离散 HUD。)
如果您从此分支构建,则可以创建一个带有父视图的 BTProgressHUD(与默认 window 相比),这将限制覆盖掩码的覆盖范围。
var progressHud = new ProgressHUD(View); // ctor overload requires the forked version
progressHud.Show(status: labelText, maskType: ProgressHUD.MaskType.Gradient);