我正在加载ABPeoplePickerNavigationController
。点击peoplepicker中的联系人,我正在检查条件
if([navigationController isKindOfClass:[ABPeoplePickerNavigationController class]]
&& [viewController isKindOfClass:[ABPersonViewController class]]){
//Statements
}
但是在IOS 7中我注意到了第二个条件,即
[viewController isKindOfClass:[ABPersonViewController class]
始终返回NO。我知道加载的viewcontroller是ABPersonViewController
。
这一点在IOS 6之前正常工作。可能是什么问题?无论如何,我可以解决这个问题。
编辑:
在UINavigationController
代表
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
记录时,viewController类显示为ABContactViewController
。
答案 0 :(得分:1)
检查课程时,您会发现iOS7会返回不同的类型。
查看您需要检查的逻辑。您不应该使用内省对人员选择器操作做出适当的反应。只需从ABPeoplePickerNavigationControllerDelegate实现标准委托方法即可。特别是,你必须实现:
- (BOOL)peoplePickerNavigationController:
(ABPeoplePickerNavigationController *)peoplePicker
shouldContinueAfterSelectingPerson:(ABRecordRef)person;