- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
在我的程序中,我需要显示来自文本字段的文本,它在工具栏中不是用户交互的,它是键盘的附属 View 。当我按下按钮时,这部分工作。然后,如果设备旋转,我需要隐藏键盘。这部分也可以正常工作。但是当我回到 portret 并按下需要显示键盘的按钮时,什么也没有。
这是我的代码:
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UITextField *textField;
@end
@implementation ViewController{
UITextField *invisibleTextfield;
UITextField *fieldToEnterText;
}
- (IBAction)buttonAction:(id)sender {
[invisibleTextfield becomeFirstResponder];
}
#pragma mark - Text Field
- (UIToolbar *)keyboardToolBar {
UIToolbar *toolbar = [[UIToolbar alloc] init];
[toolbar sizeToFit];
[toolbar setOpaque:NO];
[toolbar setTranslucent:YES];
UIBarButtonItem *textFieldItem = [[UIBarButtonItem alloc] initWithCustomView:fieldToEnterText];
UIBarButtonItem *fixItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
NSArray *itemsArray = @[fixItem,textFieldItem,fixItem];
[toolbar setItems:itemsArray];
return toolbar;
}
-(void)textFieldDidBeginEditing:(UITextField *)textField{
if ([invisibleTextfield isFirstResponder]) {
NSLog(@"did began editing invisible");
[fieldToEnterText becomeFirstResponder];
fieldToEnterText.text = _textField.text;
}
}
- (void)textFieldDidEndEditing:(UITextField *)textField{
_textField.text = fieldToEnterText.text;
}
-(void) willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
if ([fieldToEnterText isFirstResponder]) {
[fieldToEnterText resignFirstResponder];
}
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
fieldToEnterText = [[UITextField alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width-30, 30)];
fieldToEnterText.borderStyle = UITextBorderStyleRoundedRect;
fieldToEnterText.delegate = self;
[fieldToEnterText setKeyboardType:UIKeyboardTypeNumberPad];
[fieldToEnterText setTextAlignment:NSTextAlignmentCenter];
invisibleTextfield = [[UITextField alloc] init];
[invisibleTextfield setKeyboardType:UIKeyboardTypeNumberPad];
invisibleTextfield.inputAccessoryView = [self keyboardToolBar];
invisibleTextfield.delegate = self;
[self.view addSubview:invisibleTextfield];
_textField.text = @"Text";
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
最佳答案
默认情况下,iOS 模拟器已连接硬件键盘。此行为类似于连接蓝牙键盘时设备的行为方式。
您可以点击 cmd-k 来打开/关闭软件键盘,就像您可以使用蓝牙键盘上的弹出按钮一样。
如果要测试断开连接的配置,可以通过shift-cmd-k断开硬件键盘
关于ios - TextField becomeFirstResponder 不显示键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25960550/
这个问题在这里已经有了答案: Display keyboard without animation (7 个答案) 关闭 9 年前。 只是一个简单的问题,每次我调用 UITextField 的 Be
我目前正在尝试创建一个类似于 Apple Reminders 的待办事项应用。现在,当我通过单击 UIButton 添加新任务时,将创建一个包含 UITextfield 的新单元格并将其指定为第一响应
我有一个 UITextField,用户可以在其中输入他们的名字。当他们点击按钮时,我的应用程序会检查以确保他们确实输入了某些内容。如果他们没有,我会出现一个警告 View ,然后在下面我有这段代码:
我有以下 viewDidLoad 方法: - (void)viewDidLoad { NSLog(@"didLoad"); if (self.loginField.text.lengt
在将其 .hidden 属性设置为 NO 后,我将焦点转移到 UITextView。当我设置 [textView becomeFirstResponder] 时,textView 获得小打字光标,但键
我有一个 View Controller ,其 viewDidLoad 方法在其关联 View 中包含的文本字段(电子邮件)上调用 becomeFirstResponder: -(void) view
我有一个 View 支持复制并使用以下代码显示编辑菜单: if ([self becomeFirstResponder]) { // bring up edit menu. UIMen
我在每个 UITableViewRow 上都有两个 UITextFields,由于某种原因,当我在 UIKeyboard 上按下回车键时,一个特定的行两个 UITextFields 都不会响应(光标不
是否有一种标准方法可以确保键盘出现在屏幕上并且不会消失?我已将我的 textView 设置为第一响应者,以确保键盘显示,但我希望文本出现在 textView 中(让用户知道要输入什么字段),当我成为第
我想将我的 UITextfield 放在底部工具栏中,所以在 ViewWillAppear 上我写了以下代码: textBarcode.BecomeFirstResponder (); 但是 text
我的应用程序的一个目标是管理多个自定义输入 View (来自 nibs)以及常规系统键盘。一个或另一个将永远存在。 (在示例代码中,我只管理一个 Nib + 系统键盘)。 更换键盘时,我想保留您在系统
我在 UITableView 的第一个单元格中有 UITextField,每当它更改时,表格也会更改。问题是,当表更新时,该字段失去第一响应者状态,并且 becomeFirstResponder 不会
在我的应用中,用户可以输入他们的名字。 UITextField 被添加到 View 并调用 becomeFirstResponder。在 textFieldShouldReturn 方法中,调用 re
嗨。我用指纹写了一个代码。当指纹失败时,您可以点击“输入密码”,然后密码 textField 将 becomeFirstResponder()。我的问题在这里:当我点击那个按钮时,它执行 become
我有一个 UIAlertController,在我的应用程序上显示了一个 textField。选择了 textField(标记在其中闪烁)并且在 textField 上设置了 .becomeFirst
我正在使用带有自定义单元格的 UIColletion View ,其中包含 UITextField。正如我发现的那样,当 textField 成为第一响应者时,collectionView 会自动滚动
我有一个包含一个部分和许多行的分组 UITableViewController。每个 cell 包含两个元素:一个带有描述的 UILabel 和一个用于输入的 UITextField。一种形式,我会说
第一次调用 becomeFirstResponder 时,速度很慢。 Instruments 测量大约 160 毫秒......当它完成加载所有它必须加载的东西以便在屏幕上显示键盘时,键盘就会出现!杀
在我的程序中,我需要显示来自文本字段的文本,它在工具栏中不是用户交互的,它是键盘的附属 View 。当我按下按钮时,这部分工作。然后,如果设备旋转,我需要隐藏键盘。这部分也可以正常工作。但是当我回到
我有一个 UIScrollView,其中有一个 UITextField,所以我所做的是在第三个文本字段(密码)上向下滚动 UIScrollView 的偏移量: #pragma mark UITextF
我是一名优秀的程序员,十分优秀!