我以编程方式创建了UITextField,使UITextField成为viewController的属性.我需要取消键盘和屏幕上的回车和touch .我可以让屏幕touch 屏关闭,但按Return键不起作用.

我已经了解了如何使用故事板以及通过直接分配和初始化UITextField对象而不将其创建为属性来做到这一点.可以做吗?

H

#import <UIKit/UIKitH>

@interface ViewController : UIViewController <UITextFieldDelegate>

@property (strong, atomic) UITextField *username;

@end

.m

#import "ViewControllerH"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    // Do any additional setup after loading the view, typically from a nib.
    
    self.view.backgroundColor = [UIColor blueColor];
    self.username = [[UITextField alloc] initWithFrame:CGRectMake(100, 25, 80, 20)];
    self.username.placeholder = @"Enter your username";
    self.username.backgroundColor = [UIColor whiteColor];
    self.username.borderStyle = UITextBorderStyleRoundedRect;
    if (self.username.placeholder != nil) {
        self.username.clearsOnBeginEditing = NO;
    }
    _username.delegate = self; 
    
    [self.view addSubview:self.username];
    [_username resignFirstResponder];
    
}

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
    NSLog(@"touchesBegan:withEvent:");
    [self.view endEditing:YES];
    [super touchesBegan:touches withEvent:event];
}

@end

推荐答案

简单的方法是使用[textField resignFirstResponder];UITextField的代表连接到self(self.mytestField.delegate = self),并在方法textFieldShouldReturn中关闭键盘

另一种不用键盘的方法是:

Objective-C

[self.view endEditing:YES];

Swift:

self.view.endEditing(true)

[self.view endEditing:YES];放在您想要取消键盘的位置(按钮事件、touch 事件等).

Ios相关问答推荐

更新@PersistableEnum时是否需要执行迁移块?

使用CGAffineTransform旋转视图只起作用一次吗?

通过拖动更改视图位置的SwiftUI会引发UI错误

磁盘上的Objective-C ISA指针与实例化对象时的比较

AVAudioRecord 没有音频

使用 Objective-C 创建 iOS 框架

在左侧显示多行值时会出现 SwiftUI 错误,这会 destruct 堆栈中右侧的对齐方式

我需要二进制文件来进行 App Store 应用程序传输吗?

expo EAS build (iOS) 在 Pod 安装步骤中失败 (SDK45 & 46)

以正确的方式在 Text() 中使用 colored颜色

SwiftUI 切换语句

用溢出的长文本对齐 Flutter 中的行和列

SensorKit - 获取数据不调用结果委托函数

UILabel - 字符串作为文本和链接

未找到签名证书​​iOS Distribution

如何将 iPhone OSStatus 代码转换为有用的东西?

UIButton 事件.有什么不同?

如何在键盘上方添加工具栏?

SRCROOT 和 PROJECT_DIR 有什么区别?

Swift 中的日期到毫秒和回溯到日期