Jul*_*ill 4 ios swift ios8-today-widget
我正在创建一个简单的今日小部件,其中包含一个按钮,此按钮应该 - 按下时 - 在我相应的应用程序中打开一个特定的视图控制器.
我想到的唯一解决方案是创建一个只能打开初始视图控制器的URL类型(至少据我所知).
下面是我目前在UIButton操作中使用的代码:
var url = NSURL(string: "_my_url_://")
extensionContext?.openURL(url!, completionHandler: nil)
Run Code Online (Sandbox Code Playgroud)
您可以为您的应用创建一个URL类型(比如说myapp://)并在主机名后解析该部分.例如myapp://signupform 或者myapp://activities/15.您可以灵活地根据需要制作这些URL.您无法真正将URL类型绑定到特定的VC(自动),您必须完成读取URL并在应用程序委托中交换VC的工作.
执行此操作时,您需要在应用程序委托中解析此URL.当您的应用程序通过URL打开时,您将使用方法application:openURL:sourceApplication:annotation:(docs)调用您的应用程序委托,并且您可以检查所需项目的URL.
在查看URL的基础上,您将根据需要显示的视图控制器手动操作导航堆栈.例如,您可以从故事板中获取视图控制器并将其添加到其中,或者您可能只是切换到选项卡栏控制器中的给定选项卡,或者您可以在执行任何操作之前将所有当前视图控制器退回到根屏幕.不幸的是,这些行为没有普遍的答案,而这一切都取决于你究竟想做什么.