title: IOS 8 - ABPeoplePickerNavigationController - Cancel delegate method works, others do not
body: <p>I've encountered a strange problem in my IOS 8 people picker delegate code.  Only the </p>
  
  <pre><code>- (void)peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController    *)peoplePicker;
  {
      [self dismissViewControllerAnimated:YES completion:NULL];
  }
  </code></pre>
  
  <p>method is being called.  I have reviewed other questions and have made the important IOS 8 delegate method changes for selecting a contact by calling the old IOS 7 method</p>
  
  <pre><code>- (void)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker didSelectPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:   (ABMultiValueIdentifier)identifier {
      [self peoplePickerNavigationController:peoplePicker shouldContinueAfterSelectingPerson:person property:property identifier:identifier];
  }
  </code></pre>
  
  <p>but it is never called.</p>
  
  <p>I am setting the delegate in the  calling viewcontroller didLoad, </p>
  
  <p>and it works perfectly in ios 7.  This is a storyboard application.</p>
  
  <p>I saw the same question asked in a comment here: <a href="https://stackoverflow.com/questions/25806774/abpeoplepickernavigationcontroller-changes-with-ios8">ABPeoplePickerNavigationController changes with iOS8?</a></p>
  
  <p>but never found an answer.  Obviously a mistake somewhere on my part, but I can't find it.</p>
  
  <p>UPDATE:  As requested, here is how I set the delegate:</p>
  
  <pre><code>self.picker = [[ABPeoplePickerNavigationController alloc] init];
  self.picker.peoplePickerDelegate = self;
  </code></pre>
  
  <p>And, in @interface:</p>
  
  <pre><code>@interface TreatmentsAddEntryTVC :    UITableViewController&lt;UITextViewDelegate,ABPeoplePickerNavigationControllerDelegate&gt;
  </code></pre>