我有一个包含ABPersonViewController
子视图控制器的类。在iOS7之前,我能够多次传递setDisplayedPerson:
消息,更新或替换显示的信息。但是,对于iOS7,viewDidLoad
触发ABPersonViewController
子视图控制器后,对setDisplayedPerson:
的任何后续调用似乎都会被忽略。
我可以将子视图控制器替换为另一个,甚至可以设置它们之间的过渡动画,但这非常不优雅。
有一个开放的雷达:rdar:// 14682982
有人见过这个吗?
编辑:问题已通过iOS8测试版1解决。
答案 0 :(得分:2)
作为一种临时解决方法,如果已经显示ABPersonViewController
,您可以通过ABContactViewController
获取self.navigationController.topViewController.childViewControllers.firstObject
并致电reloadData:
重新加载显示的个人信息。
答案 1 :(得分:0)
我一直在处理同样的问题。我目前的解决方案是将ABPersonViewController
作为属性(我需要在几个地方使用)并进行延迟实例化,并在使用之前将其设置为nil。通过这种方式,我总是有一个新的使用。
答案 2 :(得分:0)
此问题已在iOS8测试版中得到解决。