0

我有一个播放音乐文件的应用程序。UI 有两个选项卡视图。TabOne 播放歌曲,而 TabTwo 显示有关歌曲的信息。我有一个按钮,它设置了一个标识要播放的歌曲的全局变量。歌曲会播放,但 TabTwo 中显示的信息不会更新。

当点击按钮时,如何确保两个选项卡同步更新?

谢谢, 里特什

4

1 回答 1

0

您不能通过另一个视图中发生的操作强制另一个视图更新。相反,您必须设置视图控制器以在视图出现之前检查某些数据。

每当屏幕上看不到视图时,您可以将其视为睡着了。在标签栏的情况下,标签栏控制器仅激活当前显示的标签视图的视图控制器。因此,即使您在视图控制器不活动时向它发送信息,它也不会自动更新自己的界面。

相反,您必须手动设置视图控制器以检查新数据。大多数情况下,viewWillAppear每当控制器的视图即将显示时(例如选择其选项卡时),都会调用它。

在您的特定情况下,您需要一个标识歌曲和歌曲数据的全局变量。当您按下按钮时,操作方法应该将该全局变量设置为适当的歌曲。歌曲信息选项卡视图在用户选择其选项卡之前什么都不做。此时,视图控制器查看全局变量,并在视图实际出现之前将信息加载到用户界面元素中。从用户的角度来看,歌曲和歌曲信息选项卡看起来是同步的。

如果没有看到您的实际代码或更广泛的应用程序设计,我无法提供更多详细信息。

于 2010-05-03T18:16:27.787 回答