【问题标题】:How to add an UIView to the front most view of the whole iOS in the tweak application?如何在调整应用程序中将 UIView 添加到整个 iOS 的最前面的视图?
【发布时间】:2023-03-30 16:13:01
【问题描述】:

我的应用程序是在SpringBoard 中运行的tweak 应用程序,我想在其中使用MBProgressHUD,但它需要指定要添加到的视图,所以我怎样才能获得整个@987654323 的字体最多视图@?

我应该这样做:

MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:fronMostView animated:YES];
hud.mode = MBProgressHUDModeText;
hud.labelText = [Localization localize:@"Finished!"];
[hud hide:YES afterDelay:1];

【问题讨论】:

    标签: ios objective-c jailbreak mbprogresshud tweak


    【解决方案1】:

    添加此视图的最佳位置是AppDelegate。在 appDelegate 窗口中添加视图将显示在整个应用程序的顶部。在您从 appDelegate 窗口隐藏或删除此视图之前,它也会一直保持在顶部。

    AppDelegate 类中创建MBProgressHUD 的全局对象并创建显示/隐藏方法。

    为了方便使用,请分别调用此方法。

    例如:

    @property (nonatomic, strong)  MBProgressHUD   *hud;
    
    - (void) showProgress:(NSString *)message {
    
        // Create a loading view
        if (!self.hud) {
            _hud = [MBProgressHUD showHUDAddedTo:fronMostView animated:YES];
            self.hud.mode = MBProgressHUDModeText;
    
            // Add Progress to window.
           [self.window addSubview:self.hud];
        }
    
        self.hud.hidden = NO;
        self.hud.labelText = [Localization localize:message];
    }
    
    
    - (void) hideLoadingMessage {
        self.hud.labelText = [Localization localize:@"Finished!"];
        [self.hud hide:YES afterDelay:1];
    }
    

    【讨论】:

    • 谢谢,但我的调整应用程序在 SpringBoard 运行,我找不到 AppDelegate
    【解决方案2】:

    试试

    UIWindow* window = [[UIApplication sharedApplication] keyWindow];
    

    UIWindow *window = [UIApplication sharedApplication].windows.lastObject;
    

    然后

    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:window animated:YES];
    

    Here is a topic about this,也许有用。

    【讨论】:

    • 谢谢,但这对我不起作用,因为我的调整应用程序在 SpringBoard 中运行。
    猜你喜欢
    • 2020-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多