我想知道如何获取 uitextview 的键盘类型。我能够通过使用 textfield.keyboardtype 获取 uitextfield 的键盘类型,但它似乎不适用于 uitextview。请帮助我解决这个问题。
提前致谢。
我想知道如何获取 uitextview 的键盘类型。我能够通过使用 textfield.keyboardtype 获取 uitextfield 的键盘类型,但它似乎不适用于 uitextview。请帮助我解决这个问题。
提前致谢。
尝试这个
UITextView *txvw = [[UITextView alloc] initWithFrame:CGRectMake(0, 0, 24, 20)];
txvw.keyboardType =UIKeyboardTypeURL;
和备用键盘类型是
UIKeyboardTypeDefault, // Default type for the current input method.
UIKeyboardTypeASCIICapable, // Displays a keyboard which can enter ASCII characters, non-ASCII keyboards remain active
UIKeyboardTypeNumbersAndPunctuation, // Numbers and assorted punctuation.
UIKeyboardTypeURL, // A type optimized for URL entry (shows . / .com prominently).
UIKeyboardTypeNumberPad, // A number pad (0-9). Suitable for PIN entry.
UIKeyboardTypePhonePad, // A phone pad (1-9, *, 0, #, with letters under the numbers).
UIKeyboardTypeNamePhonePad, // A type optimized for entering a person's name or phone number.
UIKeyboardTypeEmailAddress, // A type optimized for multiple email address entry (shows space @ . prominently).
您可以像获取 UITextField 一样获取 UITextView 的键盘类型。
UITextView* textView = [[UITextView alloc] initWithFrame:CGRectMake(0,0,320,30)];
[self.view addSubview:textView];
UIKeyboardType type = textView.keyboardType;
[textView release];
如果您只是阅读 UITextView 类参考,它在键盘上有一个完整的部分,其中包含以下文本:
“可以使用 UITextInputTraits 协议提供的属性自定义键盘本身的外观。文本视图对象实现了此协议并支持它定义的属性。您可以使用这些属性来指定键盘的类型(ASCII、数字、URL、电子邮件等)来显示。您还可以配置键盘的基本文本输入行为,例如是否支持自动大写和更正文本。
所以这意味着 UITextView 采用 UITextInputTraits 协议,这意味着它响应每个所需的消息。要覆盖方法,您需要继承 UITextView,然后将方法添加到您的子类以返回不同的键盘类型等。
对于属性,您可以按照其他响应者的建议设置属性。