【问题标题】:Teleprompt alert dialog show before showing view in iOS在 iOS 中显示视图之前显示 Teleprompt 警报对话框
【发布时间】:2017-03-23 10:34:15
【问题描述】:

我的应用程序中有 telprompt 警报对话框。我在 iOS 10.1.1 和 iPhone 7 设备上运行。在显示对话框之前,我需要显示一个隐藏在视图控制器中的视图,但在 iPhone 7 中它不会显示,直到我对 Teleprompt 采取任何操作。以下是在其他 iOS 上运行良好的代码。我们将不胜感激。

[callView setHidden:NO];
NSString *phoneNumber = [@"telprompt://" stringByAppendingString:msg];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNumber]];

【问题讨论】:

    标签: ios objective-c iphone core-telephony


    【解决方案1】:

    与iPhone 7无关,与iOS版本有关。

    一个简单的解决方案是延迟对openURL: 的调用,让您的代码有机会完成callView 的隐藏。

    [callView setHidden:NO];
    dispatch_async(dispatch_get_main_queue(), ^{
        NSString *phoneNumber = [@"telprompt://" stringByAppendingString:msg];
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNumber]];
    });
    

    您还应该注意,UIApplication openURL: 方法自 iOS 10 起已弃用。它已被 openURL:options:completionHandler: 取代。在 iOS 10 下,使用这种新方法可能是解决问题的另一种方法。请参阅https://stackoverflow.com/a/39767062/1226963,了解如何根据设备的当前 iOS 版本使用openURL: 的两个版本。

    【讨论】:

    • 谢谢我的问题已通过您给定的堆栈溢出链接解决。
    猜你喜欢
    • 2023-03-13
    • 2020-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多