viewDidLoad 时如何让键盘自动出现?我也不想使用 UITextField 使键盘出现。
问问题
582 次
3 回答
1
将 UITextField 添加到您的视图并调用它[myTextfield becomeFirstResponder];
然后将其设置为隐藏myTextfield.hidden = true
- 这样用户将永远不会看到文本字段。
于 2012-11-05T21:43:45.563 回答
1
你可以这样做:
子类化 UIView(它是 UIResponder 的子类)
使您的 UIView 子类符合协议 UIKeyInput。为此,在类声明中添加 < UIKeyInput > 并将此代码添加到 .m 文件
添加此代码:
-(BOOL)hasText;
{
return YES;
}
-(void)insertText:(NSString *)text;
{
// what to do when a text is inserted
}
-(void)deleteBackward;
{
// what to do when delete is pressed
}
-(BOOL)canBecomeFirstResponder
{
// return yes if your control can become first responder and show the keyboard
return YES;
}
- 创建此自定义视图的新实例并将其添加为当前窗口的子视图(否则将不起作用)
然后,要显示键盘,您只需调用 [myView becomeFirstResponder]; 刚试过,效果很好。
编辑:没有尝试过,但它应该不仅可以继承 uiview,还可以继承所有类型的 UIView 子类并且可以添加到窗口层次结构中的对象,只是它必须符合 UIKeyInput 协议
于 2012-11-06T15:22:42.583 回答
0
我知道没有 UITextField 的唯一方法是创建和添加(私有,未记录)UIKeyBoard
类的实例。你可以在这里找到一个实现,在showKeyboard:animated:
方法中。
于 2012-11-05T21:43:18.897 回答