ios - 是否可以在拆分模式下为屏幕的全宽在键盘上方创建 inputAccessoryView?

标签 ios objective-c ipad inputaccessoryview splitview

是否可以在键盘上方创建 inputAccessoryView,用于拆分模式下的屏幕全宽?系统会自动调整其大小以适合应用程序框架。这是 iOS 中的错误吗?

最佳答案

您可以使用此方法检测您的键盘是否处于拆分模式。 注意:为了使其正常工作,您需要一个带有非零 inputAccessoryViewUITextField/UITextView(您可以只使用空 View 那个)。

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

关于ios - 是否可以在拆分模式下为屏幕的全宽在键盘上方创建 inputAccessoryView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35382278/

相关文章:

ios - 无法让 UISwipeGestureRecognizer 工作,从不检测滑动?

ios - 外设写入值: forCharacteristic: type: return null error and value

objective-c - 在父类(super class)中声明ivars或在子类中声明@synthesize?

iphone - 从 iOS 5.1 中的警报按钮操作打开设置 → Wifi

iphone - AVPlayer后台问题

ios - 是什么导致iOS中的此内存泄漏

iphone - 在 UIView 子类中调用 drawRect

ios - 将 webView 放入 scrollView 时手势冲突

iphone - ios5 模拟器中的 storekit 支持 - 键盘不起作用?

ipad - 从模态视图 Controller 呈现弹出框