- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在里面有一个父 View Controller ,我有自定义 View ,当这个自定义 View 初始化时,我设置了另一个自定义 View ,这个 View 有 UITextFields,但是当我点击 UITextfield 时,键盘永远不会显示。
View Controller :
//
// ViewController.m
// InstantForum
//
// Created by trikam patel on 27/08/2014.
// Copyright (c) 2014 trikam patel. All rights reserved.
//
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
@synthesize loginSignupControlView;
- (void)viewDidLoad
{
[super viewDidLoad];
self.view.userInteractionEnabled = YES;
CGRect screenRect = [[UIScreen mainScreen] applicationFrame];
self.loginSignupControlView = [[LoginSignupControlView alloc] initWithFrame:CGRectMake(0, 0, screenRect.size.width, 68)];
[self.view addSubview:self.loginSignupControlView];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
自定义 View ,包含另一个包含 UITextFields 的自定义 View
//
// LoginSignupControlView.m
// InstantForum
//
// Created by trikam patel on 28/08/2014.
// Copyright (c) 2014 trikam patel. All rights reserved.
//
#import "LoginSignupControlView.h"
#import "UIHelper.h"
#import "TextField.h"
@implementation LoginSignupControlView
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
[self createView];
}
return self;
}
-(void)createView{
self.isLogin = true;
self.userInteractionEnabled = YES;
self.backgroundColor = [UIColor colorWithRed:56.f/255 green:56.f/255 blue:57.f/255 alpha:1.0f];
self.logoLabel = [UIHelper getUILabel:CGRectMake(10,35, 200, 14) :@"INSTANT FORUM" :[UIColor colorWithRed:222.0f/255 green:221.0f/255 blue:221.0f/255 alpha:1.0f] :[UIFont fontWithName:@"Helvetica" size:14]];
[self addSubview:self.logoLabel];
self.loginLabel = [UIHelper getUILabel:CGRectMake(190,35, 50, 14) :@"LOGIN" :[UIColor colorWithRed:106.0f/255 green:196.0f/255 blue:229.0f/255 alpha:1.0f] :[UIFont fontWithName:@"Helvetica" size:14]];
[self addSubview:self.loginLabel];
self.signupLabel = [UIHelper getUILabel:CGRectMake(250,35, 60, 14) :@"SIGNUP" :[UIColor colorWithRed:106.0f/255 green:196.0f/255 blue:229.0f/255 alpha:1.0f] :[UIFont fontWithName:@"Helvetica" size:14]];
[self addSubview:self.signupLabel];
[self setupView];
}
-(void)setupView{
if(self.isLogin){
CGRect screenRect = [[UIScreen mainScreen] applicationFrame];
self.loginView = [[LoginView alloc] initWithFrame:CGRectMake(0, 68, screenRect.size.width, 286)];
[self addSubview:self.loginView];
self.imageViewFN = [UIHelper getUIImageView:CGRectMake(10, 10, 300, 35) :@"textbox1.png"];
[self.loginView addSubview:self.imageViewFN];
TextField *fnText = [[TextField alloc] initWithFrame:CGRectMake(20, 10, 280, 35)];
//fnText.backgroundColor = [UIColor clearColor];
fnText.text = @"Enter First Name";
fnText.userInteractionEnabled = YES;
fnText.enabled = YES;
fnText.font = [UIFont fontWithName:@"Helvetica" size:14];
fnText.textColor = [UIColor colorWithRed:105.0f/255 green:121.0f/255 blue:221.0f/255 alpha:1.0f];
[self.loginView addSubview:fnText];
}
}
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
// Drawing code
}
*/
@end
自定义 View ,登录 View
//
// LoginView.m
// InstantForum
//
// Created by trikam patel on 28/08/2014.
// Copyright (c) 2014 trikam patel. All rights reserved.
//
#import "LoginView.h"
@implementation LoginView
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
self.backgroundColor = [UIColor colorWithRed:61.0f/255 green:81.0f/255 blue:168.0f/255 alpha:1.0f];
self.userInteractionEnabled = YES;
}
return self;
}
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
// Drawing code
}
*/
@end
最佳答案
一个原因可能是 UITextField 上缺少明确的委托(delegate)。
将其 UITextField 实例的委托(delegate)设置为父容器(它被添加到的容器),这将使委托(delegate)和 UITextField 能够监听更改。然后您可以进一步插入信封并尝试在容器 View 初始化时聚焦 UITextField:
self.tfText.delegate = self; // too many selfs for clarity purpose
然后您可以在父 View 中实现以下内容:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
return YES;
}
最后,在代码方面,如果 LoginSignupViewController 不需要用户输入,只需将用户交互设置为 NO 并仅在需要这样的 View 中设置标志,在本例中为 UITextField 的容器。
另一个愚蠢的原因,如果您在模拟器中运行您的应用程序,这可能是一个原因:
“当您的 iOS 模拟器打开时,转到(顶部菜单):
硬件 > 键盘 > 取消选中“模拟硬件键盘”之类的内容
完成!
希望对你有帮助
关于ios - UITextField - 键盘不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25555490/
我是一个为 iOS 设备开发的新手。我在 InterfaceBuilder 上插入了一个 UITextField,并分配了代码: @interface ComposeViewController :
我有两个要用于登录的 UITextFields,一个用于用户名,一个用于密码。在我无法关闭第一个 UITextField 中的键盘之前,但我设法解决了这个问题,现在的问题是,一旦它关闭,我就无法单击另
在 tvOS 中编辑 UITextField 会显示一个新 View ,用户可以在其中输入文本,文本输入完成后,用户将返回到之前的 View 。但是,我发现当我从文本编辑器返回时,我编辑的文本没有显示
我在同一个 ViewController 上有三个 UITextfields(customerRequestTextField 、 fundsAvailableTextField 和 amountOw
我有一个要求,需要将内容从一个 UITextField 复制到同一屏幕上的另一个 UITextField 中。它就像一个别名,一旦用户开始输入,我就应该开始复制内容。我正在使用方法 (BOOL)tex
我有一个 ViewController、许多 UITextField(一个在另一个下面)和第一个 UITextField 右边的按钮。 按下按钮时,我希望在此下方显示另一个 UITextField(每
我有 3 个 UITextField(位置、地址、 zip )。我在 viewDidLoad 中隐藏了 2 个字段。 Addres1.hidden = YES; Zip1.hidden = YES;
在 Swift 中,我有一个 UITextField、textA 和一个 UITextField、textB。 textA 有时会被禁用,但 textB 始终启用。 textA 被禁用: textA.
我有 2 个 UITextFields。一个是美元,另一个是瑞尔。当我输入 textfield$ 时,我想自动查看 textfieldRiel 中的值。怎么做 ? 最佳答案 实现 uitextfiel
我想将一个 UITextField 属性转移到另一个 UITextField。我该怎么做? 这是我的完整场景: 我创建了一个自定义单元格,其中有一个 UITextField。 现在,当我在我的 UIT
我有一个 UITextField,我想将其长度限制为 4 个字符,这是它的代码: func textField(textField: UITextField, shouldChangeCharacte
@IBOutlet weak var labelLabel: UILabel @IBOutlet weak var textFieldField: UITextField @IBAction func
我在 xib 中定义了一个 UITableViewCell。这个 UITableViewCell 有一个 UITextField,叫做 itemText。此 UITableViewCell 也采用其他
我们的应用程序有几个 UITextField,用户可以在其中输入字母数字输入代码,例如“AA149873A”。 我们希望画外音将这些读为“A A 1 4 9 8 7 2 A”,但它却将数字读为数字:“
在我的 iOS 应用程序中,我有一个文本字段,其中有一个分配给它的 inputView 的选择器 View 。在 iOS 设备上,每当用户点击文本字段时,选择器 View 就会弹出。但是,当我将它作为
在 iOS 13 中,访问 UITextField 时发生崩溃_placeholderLabel.textColor 标签键。 用于应用占位符文本颜色的键。 [textfield setValue:[
我想复制iMessage结构的效果,点击工具栏中的UITextView,键盘就会出现。但我不知道如何在打字时显示文本。我认为当键盘出现时我应该将 UITextField 向上移动 class View
我有两个 UITextField,cDiseasePicker 和 optionalLMS。 我的cDiseasePicker使用UIPickerView作为输入,选项为“否”、“是,1VD”、“是,
当点击某个 CA 层时,我动态创建了两个 UITextField。我已将第一个文本字段设为第一响应者,我想要的是,当我在第一个文本字段中输入文本并按完成时,我希望第二个文本字段成为第一响应者。这就是我
我正在寻找 UITextField 的方法,它在我输入 UITextField 后产生效果。 我有一个方法来进行计算我使用一个按钮,但我不想使用,我希望你在我在 UITextField 中输入数字后运
我是一名优秀的程序员,十分优秀!