gpt4 book ai didi

ios - 以编程方式创建的自定义 UITextField 不会在点击时调出键盘

转载 作者:行者123 更新时间:2023-11-29 13:36:31 25 4
gpt4 key购买 nike

我为 iPhone 上的文本字段设计了自定义外观。我决定创建一个类

MYTextField : UIView <UITextFieldDelegate>

我有一个方法

- (id)initWithPlaceholder:(NSString*)placeholder position:(CGPoint) position

创建具有所需 View 和外观的 UITextField。

源码如下:

- (id)initWithPlaceholder:(NSString*)placeholder position:(CGPoint) position {
if (self = [super initWithFrame:CGRectMake(position.x, position.y, TEXTFIELD_WIDTH, TEXTFIELD_HEIGHT)]) {
UITextField *textField = [[[UITextField alloc] initWithFrame:CGRectMake(10, 200, 300, 40)] autorelease];
textField.borderStyle = UITextBorderStyleRoundedRect;
textField.font = [UIFont systemFontOfSize:15];
textField.placeholder = @"enter text";
textField.autocorrectionType = UITextAutocorrectionTypeNo;
textField.keyboardType = UIKeyboardTypeDefault;
textField.returnKeyType = UIReturnKeyDone;
textField.clearButtonMode = UITextFieldViewModeWhileEditing;
textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
[textField setUserInteractionEnabled:YES];
textField.delegate = self;

[self addSubview:textField];
}
return self;
}

问题是,在调用该方法时,UITextField 是可见的,但在点击文本字段时,键盘不显示。

有什么我遗漏的吗?

PS:我在 Stackoverflow 上发现了几个类似的问题,但似乎没有一个解决方案适合我。 :(

最佳答案

这里的问题可能是文本字段框架不在 UIView 的框架内。为什么将 TEXTFIELD_WIDTH 用于 self.frame 而不是用于 textfield.frame?

此外,为什么子类化 UIView 而不是 UITextField?

关于ios - 以编程方式创建的自定义 UITextField 不会在点击时调出键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10453680/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com