实现点击屏幕键盘自动隐藏和输入密码加密功能

实现点击屏幕键盘自动隐藏和输入密码加密功能

#import "ViewController.h"

@interface ViewController ()< UITexFiledDelagate >

@end

@implementation ViewController 

- (void)viewDidLoad {
    [super viewDidLoad];
    
    UITextField * tf = [[UITextField alloc]initWithFrame:CGRectMake(100, 150, 230, 45)];
    tf.borderStyle = UITextBorderStyleRoundedRect;// 设置文本框边框
    tf.clearsOnBeginEditing = YES;// 在开始编辑的时候清除上次余留的文本
    tf.tag = 101;
    tf.adjustsFontSizeToFitWidth = YES;
    //    tf.borderStyle = UITextBorderStyleBezel;
    //    tf.backgroundColor = [UIColor redColor];
    tf.placeholder = @"Please in put your name"; // 提示输入信息
    //    tf.background = [UIImage imageNamed:<#(NSString *)#>];// 添加背景图片
    [self.view addSubview:tf];
   BOOL isEditing = tf.isEditing;// 只读,是否科协
    tf.clearButtonMode = UITextFieldViewModeWhileEditing;// 右侧清除按钮
//    tf.leftView = [];
    UIView * view = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];
    view.backgroundColor = [UIColor redColor];
//    tf.inputView = view ;// 可以自定义键盘
//    tf.inputAccessoryView = view;// 键盘附加视图,可以加表情的子视图 重点
    tf.secureTextEntry = YES;// 密码模式,加密
    tf.keyboardType = UIKeyboardTypeDefault;//设置键盘类型
    tf.returnKeyType = UIReturnKeyDone;// return键名替换
    
    // 代理delegate
    tf.delegate = self;// 设置代理调用代理方法,只要设置好代理,系统就会自动调用代理方法
    // 增加事件
    [tf addTarget:self action:@selector(tfAction) forControlEvents:UIControlEventEditingDidEndOnExit];//点击return触发
//    UIControlEventEditingDidEnd 结束第一响应者时执行
//    UIControlEventEditingDidEndOnExit 点击return触发
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
#pragma mark - 设置键盘消失
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{//点击屏幕触发
    UITextField * tf =(UITextField *) [self.view viewWithTag:101];
    [tf resignFirstResponder];// 放弃第一响应者,
}

#pragma mark - UITexFiledDelagate 文本框代理

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
    return YES;// NO:点击文本框键盘不出来,Yes出来
}

- (void)textFieldDidBeginEditing:(UITextField *)textField{
    NSLog(@"编辑开始");// 结束编辑后执行
}

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField{
    return YES; // 当返回NO,第一响应者响应失败,YES可以响应
}
- (void)textFieldDidEndEditing:(UITextField *)textField{
    NSLog(@"编辑结束");
}

- (BOOL)textFieldShouldReturn:(UITextField *)textField{
    return YES; // 
}
//- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField;        // return NO to disallow editing.
//- (void)textFieldDidBeginEditing:(UITextField *)textField;           // became first responder
//- (BOOL)textFieldShouldEndEditing:(UITextField *)textField;          // return YES to allow editing to stop and to resign first responder status. NO to disallow the editing session to end
//- (void)textFieldDidEndEditing:(UITextField *)textField;             // may be called if forced even if shouldEndEditing returns NO (e.g. view removed from window) or endEditing:YES called
#pragma mark - TextField增加事件
- (void)tfAction{
    NSLog(@"文本框点击事件");
}
@end

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,259评论 4 61
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,593评论 25 708
  • 版权归作者所有,任何形式转载请联系作者。 作者:叶紫(来自豆瓣) 前天晚上老师打电话让写二篇家庭教育的分享,也是对...
    084a4f46f700阅读 377评论 0 1
  • 人类的繁衍生息,住所从最初的山洞、茅草屋、木屋到瓦房、高楼,不断在变化着。 瓦房,是中国传统的民居建筑,体现一种素...
    曲声和阅读 639评论 11 11
  • 孟子认为,一个真正的人,必须要有独立的人格。不只在功名利禄面前要有,即使面对生死考验,也要坚守气节,保持人格。不苟...
    易清尘阅读 218评论 0 0