#import "ViewController.h"
@interface ViewController ()<UITextFieldDelegate, UITextViewDelegate>
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
CGRect screen = [[UIScreen mainScreen] bounds];
CGFloat textFieldWidth = 223;
CGFloat textFieldHeight = 30;
CGFloat textFieldTopView = 150;
UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake((screen.size.width - textFieldWidth) / 2, textFieldTopView, textFieldWidth, textFieldHeight)];
textField.borderStyle = UITextBorderStyleRoundedRect;
textField.delegate = self;
[self.view addSubview: textField];
}
// 实现 UITextFieldDelegate协议的内容
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
NSLog(@"textfield 获取焦点并点击了return事件");
// 让键盘隐藏
[textField resignFirstResponder];
return YES;
}
// 实现了UITextViewDelegate协议的方法
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
if([text isEqualToString:@"\n"]){
NSLog(@"textView j获得焦点,点击 return");
return NO;
}
return YES;
}
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
//注册键盘出现通知
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidShow:) name:UIKeyboardDidShowNotification object:nil];
// 注册键盘隐藏通知
[[NSNotificationCenter defaultCenter] addObserver:self selector: @selector(keyboardDidHide:) name:UIKeyboardDidHideNotification object:nil];
}
-(void)viewWillDisappear:(BOOL)animated{
[super viewWillDisappear:animated];
// 注销键盘出现通知
[[NSNotificationCenter defaultCenter]removeObserver:self name:UIKeyboardDidShowNotification object:nil];
// 注销键盘隐藏通知
[[NSNotificationCenter defaultCenter]removeObserver: self name:UIKeyboardDidHideNotification object: nil];
}
-(void)keyboardDidShow:(NSNotification *) notification{
NSLog(@"键盘打开了");
}
-(void)keyboardDidHide: (NSNotification *) notification{
NSLog(@"键盘关闭了");
}
@end
ios监听软键盘打开关闭事件
最新推荐文章于 2022-08-19 10:29:16 发布