2014-09-19 74 views
1

我的工作提供了新的Today扩展/控件的通知中心的应用程序,因为这功能已与iOS添加8负载特定的ViewController

不过,我需要在Storyboard中基于一个简单变量的值在两个不同的视图控制器之间进行选择的扩展。因此,如果用户在主应用程序中进行更改,则此变量将具有不同的值,因此Today Extension应该加载不同的初始视图控制器。

我已经阅读过类似的问题及其解决方案,所以我试图设置一个虚拟视图控制器作为扩展故事板上的初始视图控制器,创建多个指向其他视图控制器的模态segues,给它们一个标识符名称,在segues上禁用了动画并为虚拟视图控制器实现了一个自定义类。然后这个类别在viewDidAppear:中调用performSegueWithIdentifier: sender:nil。 但是,这似乎不适用于今天的扩展,只在显示“无法加载”,当我在模拟器中测试它。

编辑: 好吧,我做错了什么,它确实工作。但是每次打开通知中心时,显示的视图控制器的内容都会消失并在几毫秒内重新出现,因为虚拟视图控制器会再次加载。此外,展示其他视图控制器时,扩展高度不会改变。

我能做些什么来实现今日扩展的预期行为?

回答

0

你可以使用一个TableViewController,并把不同的逻辑到的TableCell,而不是视图控制器。很容易在tableView(tableView:, cellForRowAtIndexPath:)中针对您的变量选择不同的TableCell