4

分割モードで画面の全幅に対してキーボードの上にinputAccessoryViewを作成することは可能ですか? アプリのフレームに合わせてシステムが自動的にサイズを変更します。iOSのバグですか?

4

2 に答える 2

1

このメソッドを使用して、キーボードが分割モードかどうかを検出できます。 注:これを機能させるには、UITextField/UITextViewnil 以外のが必要inputAccessoryViewです (そのために空のビューを使用できます)。

NSArray *classPath = @[
  @"KeyboardAutomatic",
  @"KeyboardImpl",
  @"KeyboardLayoutStar",
  @"KBKeyplaneView",
  @"KBSplitImageView"
];
UIView *splitView = textField.inputAccessoryView.superview;
for (NSString *className in classPath) {
  for (UIView *subview in splitView.subviews) {
    if ([NSStringFromClass([subview class]) rangeOfString:className].location != NSNotFound) {
      splitView = subview;
      break;
    }
  }
}
BOOL isSplit = [splitView.subviews count] > 1;

次に、カスタムinputAccessoryViewを使用してCGRectFrame、キーボードが分割モードかどうかに応じて編集できます。ここに良い例があります: https://github.com/bmancini55/iOSExamples-DockedKeyboardView

于 2016-05-02T12:39:20.260 に答える