ScrollView 中的 UITextField 在 iOS 中不显示键盘
Posted
技术标签:
【中文标题】ScrollView 中的 UITextField 在 iOS 中不显示键盘【英文标题】:UITextField in ScrollView doesnt display keyboard in iOS 【发布时间】:2014-04-09 12:35:48 【问题描述】:我在 UIView
中有 10 个文本字段,我已将视图添加到 scrollView
。其中将显示 5 个文本字段,并且将滚动其他文本字段。
在我的textFieldDidBeginEditing
-(void)textFieldDidBeginEditing:(UITextField *)textField
if (textField.tag>=4)
CGRect viewframe=contentsOfView.frame;
viewframe.origin.y=viewframe.origin.y-100;
contentsOfView.frame=viewframe;
在我的textFieldDidEndEditing
-(void)textFieldDidEndEditing:(UITextField *)textField
if(textField.tag>=4)
CGRect viewframe=contentsOfView.frame;
viewframe.origin.y=viewframe.origin.y+100;
contentsOfView.frame=viewframe;
如果我滚动屏幕以查看下一个文本字段,则屏幕上显示的前 5 个字段可以正常工作。如果我点击它,键盘不会出现。
[contentsOfView addSubview:nameField];
[contentsOfView addSubview:mobileNumberField];
[contentsOfView addSubview:passwordField];
[contentsOfView addSubview:taxiNumberfield];
[contentsOfView addSubview:emailIdField];
[contentsOfView addSubview:taxiTypeField];
[contentsOfView addSubview:licenseNumber];
[contentsOfView addSubview:nricNumber];
[contentsOfView addSubview:noOfPassengerField];
[contentsOfScrollView addSubview:contentsOfView];
[self.view addSubView:contentScrollView ];
文本字段
nameField.borderStyle=UITextBorderStyleLine;
nameField.layer.borderWidth=1.0;
nameField.layer.borderColor=[[HexColorCode colorWithHexastring:@"c88202" ] CGColor];
nameField.keyboardType=UIKeyboardTypeNamePhonePad;
nameField.placeholder=@"NAME";
nameField.backgroundColor=[UIColor whiteColor];
UIView * paddingView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 15, 20)];
nameField.leftView = paddingView;
nameField.leftViewMode = UITextFieldViewModeAlways;
nameField.contentVerticalAlignment=UIControlContentVerticalAlignmentCenter;
nameField.delegate=self;
nameField.tag=1;
【问题讨论】:
您能说明如何将文本字段添加到您的视图中吗? 我已经编辑了我的问题 好吧,嗯,我想我有点含糊。你能展示你是如何创建这些文本字段的,尤其是它们的框架吗? 你在使用故事板吗...? 不,完整代码,请看我的问题你能理解。 【参考方案1】:移除 contentView 将对象添加到 contectScrollView
[contentScrollView addSubView: nameField];
[self.View addSubView:contentScrollView];
这可能对你有帮助。
【讨论】:
以上是关于ScrollView 中的 UITextField 在 iOS 中不显示键盘的主要内容,如果未能解决你的问题,请参考以下文章
UIpickerView 在同一个 ScrollView 中填充多个 uitextFields
文本在缩放模式下显示模糊 UITextField/TextView