使用UIKeyInput键入提前问题

时间:2016-09-20 16:46:46

标签: ios uikeyinput

我有一个控制器,它采用自定义键输入并以独特的方式显示它。它成为关键响应者并实现UIKeyInput

https://developer.apple.com/reference/uikit/uikeyinput

在iOS键盘上的预先输入功能之前,它已在8.0中实现。我正在为10.0更新它,它不能很好地管理交互。

- (void)deleteBackward {
  NSString *text = self.codedLabel.text;

  if (text.length > 0) {
    text = [text substringToIndex:text.length-1];
  }

  self.codedLabel.text = text;
  self.decodeLabel.text = [text stringByReplacingOccurrencesOfString:@"\n" withString:@" | "];
  [self saveText:text];
}

- (BOOL)hasText {
  NSString *text = self.codedLabel.text;
  return (text.length > 0);
}

- (void)insertText:(NSString *)newtext {
  NSString *text = self.codedLabel.text;

  text = [text stringByAppendingString:newtext];
  self.codedLabel.text = text;
  self.decodeLabel.text = [text stringByReplacingOccurrencesOfString:@"\n" withString:@" | "];
  [self saveText:text];
}

如果选择了其中一个预先输入的单词,则会调用insertText:,但newtext值始终为0xa000000000000201且调试输出为

(lldb) po newtext


(lldb) p newtext.length
(NSUInteger) $1 = 1

0 个答案:

没有答案