在iOS7上使用A Person ViewController重新加载/更改显示的人物

时间:2013-09-15 09:56:26

标签: ios cocoa-touch abaddressbook ios7

我有一个包含ABPersonViewController子视图控制器的类。在iOS7之前,我能够多次传递setDisplayedPerson:消息,更新或替换显示的信息。但是,对于iOS7,viewDidLoad触发ABPersonViewController子视图控制器后,对setDisplayedPerson:的任何后续调用似乎都会被忽略。

我可以将子视图控制器替换为另一个,甚至可以设置它们之间的过渡动​​画,但这非常不优雅。

有一个开放的雷达:rdar:// 14682982

有人见过这个吗?

编辑:问题已通过iOS8测试版1解决。

3 个答案:

答案 0 :(得分:2)

作为一种临时解决方法,如果已经显示ABPersonViewController,您可以通过ABContactViewController获取self.navigationController.topViewController.childViewControllers.firstObject并致电reloadData:重新加载显示的个人信息。

答案 1 :(得分:0)

我一直在处理同样的问题。我目前的解决方案是将ABPersonViewController作为属性(我需要在几个地方使用)并进行延迟实例化,并在使用之前将其设置为nil。通过这种方式,我总是有一个新的使用。

答案 2 :(得分:0)

此问题已在iOS8测试版中得到解决。