如何在UITextField
隐藏光标/插入符号/放大镜的同时防止编辑文本,但仍然显示键盘,因为我使用的inputView
是UIPickerView
/ UIDatePickerView
?
设置userInteractionEnabled
为NO
不起作用,因为它不再接收任何触摸并且不会显示键盘.
当我将textField的inputView设置为我的KeyboardView时,我有一个自定义键盘,可以显示某个UITextField.键盘效果非常好,但很明显,如果用户之前已取消内置的Apple键盘或拆分它,键盘将"浮动".
我已经搜索了很多小时的方法,以确保我的自定义键盘不会像这样,而是停留在屏幕的底部,无论用户之前是否已取消内置的Apple键盘.
self.keyboardInputView = [[[KeyboardInputViewController_iPad alloc]
initWithNibName:@"KeyboardInputViewController_iPad"
bundle:[NSBundle mainBundle]] autorelease];
self.keyboardInputView.delegate = self;
self.keyboardInputView.keyboardTextField = myTextField;
myTextField.inputView = self.keyboardInputView.view;
[myTextField becomeFirstResponder];
Run Code Online (Sandbox Code Playgroud) 我inputView
为我创建了一个自定义UITextField
.视图本身外观和功能都很棒,但在iPad上我会在我的自定义上方获得撤消,重做和粘贴按钮inputView
.如何删除这些按钮?它们没有任何功能,但应删除它们.
我inputView
为我设定了一个习惯UITextField
.我需要一种方法来显示在我的自定义inputView
中选择的数据UITextfield
.我想以与系统键盘相同的方式实现这一点.
有谁知道这是怎么做的?系统键盘如何获得UITextfield
对第一响应者的引用?
我正在尝试自定义键盘如何影响我的应用.我在iPhone 6上安装了Swype.
我发现在我的一些视图中,我在文本字段上设置了自定义inputView属性,Swype键盘覆盖并呈现而不是我的选择器.这完全打破了我的UI,不能被允许.
有没有办法明确告诉iOS 8只使用我设置的inputView?
这可能是一个错误吗?允许第三方覆盖我的输入规范是不是完全没有预期的行为?
我使用带有"setInputView"功能的自定义键盘实现了文本字段.但我有一个问题:我的键盘框架不是标准的iphone键盘框架.
问题是:如何更改自定义键盘的大小?我知道一些函数,如:UIKeyboardFrameBeginUserInfoKey,.. etc.
请注意:iPhone键盘框架= 0,264,320,216我的自定义键盘框架= 0,0,320,460
希望您的合作愉快,最好的问候... P
我相信我在iOS 7中遇到了一个错误.当UITextView包含在模态视图中时,将其inputview属性从自定义视图更改为nil(为了恢复系统键盘)将导致应用程序崩溃在模态视图被驳回后.
此崩溃仅发生在iOS 7下.以前的iOS版本没有出现此问题.
我写了一个小样本应用来演示这个问题.编译启动应用程序并执行以下操作:
一旦ViewController被解除,应用程序立即崩溃.崩溃日志有时(但不总是)指的是发送到对象的无法识别的选择器.每次重现崩溃时,对象的类型都不同.
还有其他人遇到过这种错误吗?
在UItextView inputView上使用我的自定义阿拉伯语键盘,我用阿拉伯语文本填充我的textView但是无法将书面文本对齐到右边....需要帮助将文本对齐到右边.
-(BOOL)textViewShouldBeginEditing:(UITextView *)textView{
if(showCustomKeyboard==NO){
[textView resignFirstResponder];
textView.inputView=nil;
[textView becomeFirstResponder];
return YES;
}
else{
[textView resignFirstResponder];
if(customKeyboard==nil){
customKeyboard=[[CustomKeyboard alloc] initWithFrame:CGRectMake(0, 264, 320, 216)];
[customKeyboard setDelegate:self];
}
if([[UIApplication sharedApplication] respondsToSelector:@selector(inputView)]){
if (textView.inputView == nil) {
textView.inputView = customKeyboard;
[textView becomeFirstResponder];
}
}
self.customKeyboard.currentField=textView;
[textView becomeFirstResponder];
}
return YES;
}
Run Code Online (Sandbox Code Playgroud) 我有一个UITextField
使用自定义UIPickerView
其inputView
用户限制在几个选项,功能类似于一个下拉列表.当与通过蓝牙连接的硬件键盘一起使用时,硬件键盘会覆盖(并隐藏)我的inputView
.inputAccessoryView
然而,相关的遗骸.按下我的硬件键盘上的"键盘"按钮(通常会显示默认的屏幕键盘为香草UITextField
),一切都按预期工作.(我的意思是我inputView
再次可见.)在iOS的早期版本(即7及以下版本)中,inputView
调用时始终可见.
我已经暂时通过设置解决了这个问题UITextField
的UIKeyboardType
,从UIKeyboardTypeDefault
到UIKeyboardTypeTwitter
,但在硬件键盘不被识别为默认为该特定这只会工作UIKeyboardType
.代码是pickerTextField.keyboardType = UIKeyboardTypeTwitter;
(参见下面代码的大约2/3.)经过进一步测试,这个部分解决方案并不像看起来那么有用.
如何inputView
在使用硬件键盘时正确显示我的所有情况?
相关代码段:
-(int)setUpPickerWheelAtXLoc:(int)xLoc andYLoc:(int)yLoc {
int qwidth = width - (xLoc - FORMBORDERLEFT);
// Set up inputView (pickerView) to replace the keyboard
self.pickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(xLoc, yLoc, qwidth, height)];
self.pickerView.delegate = self;
self.pickerView.dataSource = self;
self.pickerTextField = [[UITextField alloc] initWithFrame:CGRectMake(xLoc, yLoc, qwidth, 32)];
self.pickerTextField.delegate = …
Run Code Online (Sandbox Code Playgroud) inputview ×10
ios ×7
uitextfield ×4
ios8 ×2
iphone ×2
keyboard ×2
objective-c ×2
uitextview ×2
cocoa-touch ×1
crash ×1
ios7 ×1
ipad ×1
swift ×1
textfield ×1
uikeyboard ×1