我遇到了UITextView的问题,似乎与在可滚动视图内部放置另一个可滚动视图有关。为了解决这个问题,我想尝试编写自己的多行(但不可滚动)文本视图。考虑到核心图形方法和UITextInputTraits类,这似乎是可行的。唯一我无法弄清楚的是是否可以显示(并捕获事件)系统范围内的键盘。使用SDK是否可能实现这一点?
在类似的情况下,我所做的是创建一个隐藏的UITextField,并将其委托给您的类,您可以在其中实现适当的UITextFieldDelegate方法以拦截按键。
大致如下:
UITextField *myHiddenTextField = [[UITextField alloc] initWithFrame: cgRectZero()];
myHiddenTextField.delegate = self;
[myHiddenTextField becomeFirstResponder];
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
//use string here for the text input
return false;
}