Проблема смещения списка контактов CNContactPickerViewController
Описание: Если я установил "[[внешний вид UIScrollView] setContentInsetAdjustmentBehavior:UIScrollViewContentInsetAdjustmentNever];" где-то еще в моем приложении первые два элемента в CNContactPicerViewController будут закрыты, и их нельзя будет коснуться. Установка UIScrollViewContentInsetAdjustmentAutomatic назад перед представлением Contact Picer поможет сделать первые два элемента доступными для прикосновения, но исходное положение списка контактов неверно.
- (IBAction)chooseFromContact:(id)sender {
if (@available(iOS 11.0, *)){
[[UIScrollView appearance] setContentInsetAdjustmentBehavior:UIScrollViewContentInsetAdjustmentNever];
}
ContactManager *contactManager = [ContactManager sharedInstance];
[contactManager selectContactAtController:self complection:^(NSString * _Nonnull phone) {
NSLog(@"Hello World");
}];
}
// in ContactManager.m
- (void)selectContactAtController:(UIViewController *)controller
complection:(void (^)(NSString *))completcion {
if (@available(iOS 11.0, *)){
[[UIScrollView appearance] setContentInsetAdjustmentBehavior:UIScrollViewContentInsetAdjustmentAutomatic];
}
self.contactPicker = [[CNContactPickerViewController alloc] init];
self.contactPicker.delegate = self;
[controller presentViewController:self.contactPicker animated:YES completion:nil];
self.currentViewController = controller;
self.didselectPhone = completcion;
}
Ожидаемый результат:
Фактический результат: