Любая идея, как получить inputAccessoryView для привязки к панели вкладок, а не к нижней части экрана?InputAccessoryView охватывает нижнюю панель
Я создал UIViewController и переопределен следующие методы:
-(BOOL)canBecomeFirstResponder {
return YES;
}
-(UIView *)inputAccessoryView {
CGRect frame = CGRectMake(0, 0, self.view.frame.size.width, 44);
self.keyboardInputAccessoryView =[[BRKeyboardInputBarView alloc] initWithFrame:frame leftButtonTitle:@"Left" andRightButtonTitle:@"Send"];
[self.keyboardInputAccessoryView setDelegate:self];
[self.keyboardInputAccessoryView setTranslatesAutoresizingMaskIntoConstraints:NO];
[self.keyboardInputAccessoryView removeFromSuperview];
return self.keyboardInputAccessoryView;
}
View controller with inputAccessoryView covering the tab bar
Взгляды него контроллер вида добавляет вид окна, а не текущий вид контроллеров зрения, что объяснит его позиционирование. Однако, если я удалить строку:
[self.keyboardInputAccessoryView removeFromSuperview];
Я получаю сбой при постукиваю в TextView моего зрения аксессуара:
The view hierarchy is not prepared for the constraint:<NSLayoutConstraint:0x7fa0c2ca5f80 BRKeyboardInputBarView:0x7fa0c2d6fad0.bottom == UIInputSetContainerView:0x7fa0c295a2c0.bottom>
Так что я думаю, что я спрашиваю, что такое правильный способ добавьте вид аксессуаров для клавиатуры, чтобы он отлично сочетался с автоматической компоновкой и избегал краха, но также привязывался к виду, а не к окну?
Мне кажется странным, что _accessoryView_ существует вообще, когда клавиатура не работает, так как это не по умолчанию; входной аксессуар должен исчезнуть с клавиатуры. Я думаю, вам будет лучше отслеживать высоту клавиатуры и продвигаться вперед, когда вызывается первый вызовResponder? Что-то вроде строки UIKeyboardDidShowNotification и ответ на этот вопрос: http://stackoverflow.com/questions/25874975/cant-get-correct-value-of-keyboard-height-in-ios8 – SunburstEnzo