Rebooting / changing the displayed face using ABPersonViewController on iOS7

I have a class that contains an ABPersonViewController child controller. Prior to iOS7, I could send the message setDisplayedPerson: several times, updating or replacing the displayed information. However, with iOS7, as soon as viewDidLoad starts for the viewDidLoad child controller, any subsequent calls to setDisplayedPerson: are apparently ignored.

I could replace the child view controller with another and even revive the transition between them, but it is very inelegant.

There is an open radar for this: rdar: // 14682982

Has anyone seen this?

Edit: Problem resolved using iOS8 beta 1.

+4
source share
3 answers

The issue is resolved in iOS8 beta.

0
source

As a temporary workaround, if ABPersonViewController already presented, you can get ABContactViewController through self.navigationController.topViewController.childViewControllers.firstObject and call reloadData: to reload the displayed information of the person.

+2
source

I dealt with the same problem. My current solution is to have ABPersonViewController as a property (I need this in a few places) with an instance creation delay, and I set it to zero before using it. So I always have a new one that I can use.

0
source

Source: https://habr.com/ru/post/1502251/


All Articles