UIPickerView没有更新

时间:2012-07-23 17:06:27

标签: iphone ios uipickerview

我从 iOS 5.1.1 下的网址动态加载 UIPIcker 视图的标签值,因此我需要在显示视图后更新它。如果我在实例化选择器时使用值(通过delegate方法)初始化它,那么一切都可以找到。如果我在选择器上稍后调用reloadAllComponents,它确实通过delegate方法查询数据源并检索所选行显示它确实填充了新值。问题是字段仍显示为blank。选择器数据源delegateIBOutlet都设置为文件所有者(我使用的是.xib)。如果我在实例化时将初始虚拟值加载到选择器中,那么即使在实际更新选择器之后也会显示这些值。我对这个问题感到头疼。任何人都可以解释为什么 GUI 值不会更新? 谢谢, 崖

[更新]
现在,我看到如果我在更新选择器之后对应用程序进行后台处理,则会使用正确的值重新显示]。这真的感觉我错过了一个连接。我试过调用setNeedsDisplay但没有成功。

1 个答案:

答案 0 :(得分:1)

我留下了代码,因为我有很多应用程序代码,我不愿意分享。我实际上发现了问题。我通过NSNotification回调填充了选择器。这显然不会在主线程中运行并导致问题。通过确保通知回调的主体通过

在主线程中运行
dispatch_async(dispatch_get_main_queue(), ^{
    MY CODE HERE
});

现在一切正常。 崖