AutoLayout: NSInternalInconsistencyException с iOS11

Аварийное завершение работы приложения со следующими журналами (PFA), и это происходит только в iOS 11.

Неустранимое исключение: NSInternalInconsistencyException, невозможно настроить макет с иерархией представления, неподготовленной к ограничению.

__120- [UIView (UIConstraintBasedLayout) _layoutEngine_didAddLayoutConstraint: roundingAdjustment: взаимно исключая Constraints:]_block_invoke_2

Обновление:-

Сценарий:- У меня есть UIToolbar на клавиатуре, код для добавления

Иерархия представления не подготовлена ​​для ограничения: NSLayoutConstraint:0x1c0295540 V:[UIToolbar:0x10219f550]-(0)-[_UIRemoteKeyboardPlaceholderV‌ iew:0x10219fab0] (неактивно)

#pragma mark  KeyBoard Related Function
-(void)createInputAccessoryView:(NSInteger )tagNumber
{
    inputAccessoryView = [[UIToolbar alloc]init];
    [inputAccessoryView setBackgroundColor:kKYBOARDCOLOR];
    [inputAccessoryView sizeToFit];
    [inputAccessoryView setHidden:NO];

    //Use this to put space in between your toolbox buttons

    UIBarButtonItem *barSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
                                                                              target:nil
                                                                              action:nil];

    UIBarButtonItem *barBtnDone = [[UIBarButtonItem alloc] initWithTitle:@"Done"
                                                                   style:UIBarButtonItemStyleDone
                                                                  target:self action:@selector(actnResignKeyboard)];
    NSArray *barItems;
    barItems = [NSArray arrayWithObjects:barSpace,barBtnDone, nil];
    [inputAccessoryView setItems:barItems animated:YES];

}

Появляющаяся и исчезающая клавиатура вызывает сбой, но когда я удаляю UIToolbar, то все работает нормально.

Примечание:- Этот код работает нормально до iOS 11.

1 ответ

Вы пытались распечатать трассировку стека, чтобы узнать, какая иерархия макетов или представлений вызывает это? Также попробуйте сначала добавить представления к суперпредставлению, а затем применить ограничения

Другие вопросы по тегам