显示iPhone键盘

5
我遇到了UITextView的问题,似乎与在可滚动视图内部放置另一个可滚动视图有关。为了解决这个问题,我想尝试编写自己的多行(但不可滚动)文本视图。考虑到核心图形方法和UITextInputTraits类,这似乎是可行的。唯一我无法弄清楚的是是否可以显示(并捕获事件)系统范围内的键盘。使用SDK是否可能实现这一点?

我很好奇你是否已经成功实现了多行视图,并且如果成功的话,你是如何处理自动换行的问题的? 我正在尝试制作一个类似的东西(只是可编辑的,可滚动的,还能进行语法高亮),但我卡在了自动换行上。谢谢。 - Kyle
为什么不直接使用UITextView并禁用其滚动? - Andrei Filip
1个回答

7

在类似的情况下,我所做的是创建一个隐藏的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;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接