专栏首页iOS知识点iOS UITextField 文本输入框
原创

iOS UITextField 文本输入框

///别忘在 .h 中写代理 <UITextViewDelegate>

///UILabel 显示的文本只读,无法编辑,可以根据文字个数自动换行; ///UITextField 可编辑本文,但是无法换行,只能在一行显示;当点击键盘上的return时会收到一个事件做一些事情。 ////UITextView 可编辑文本,提供换行功能。

UITextField* textField = [[UITextField alloc] initWithFrame:CGRectMake(10, 230, 300, 180)];
    textField.tag = 100;
    //更改背景颜色
    //textField.backgroundColor = [UIColor greenColor];
    //边框类型
    textField.borderStyle = UITextBorderStyleRoundedRect;
    //字体
    textField.font = [UIFont boldSystemFontOfSize:60.0];
    //字体颜色
    textField.textColor = [UIColor blueColor];
    //对齐方式
    textField.textAlignment = NSTextAlignmentLeft;
    //垂直对齐
    textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
    //水平对齐
    //textField.contentHorizontalAlignment = UIControlContentHorizontalAlignmentRight;
    //文字缩放
    textField.adjustsFontSizeToFitWidth = YES;
    //缩放后最小字号
    textField.minimumFontSize = 40.0;
    //文本
    //textField.text = @"请输入账号";
    //占位文字
    textField.placeholder = @"请输入账号";
    //清空按钮
    textField.clearButtonMode = UITextFieldViewModeAlways;
    //当编辑时清空
    //textField.clearsOnBeginEditing = YES;
    //自动大写
    //textField.autocapitalizationType = UITextAutocapitalizationTypeAllCharacters;
    //单词检测 是否是单词 显示下划线
    textField.autocorrectionType = UITextAutocorrectionTypeNo;
    //textField.background
    textField.delegate = self;
    //键盘样式
    //textField.keyboardAppearance = UIKeyboardAppearanceAlert;
    //键盘类型
    textField.keyboardType = UIKeyboardTypeEmailAddress;
    textField.returnKeyType = UIReturnKeyGo;
    //密码
    textField.secureTextEntry = YES;
    //圆角
    textField.layer.cornerRadius = 5.0 //导入QuartzCore.framework, 引用#import <QuartzCore/QuartzCore.h>
    //光标过于靠前
    textField.borderStyle = UITextBorderStyleRoundedRect; 
    
    [self.window addSubview:textField];

    
    
    
/////方法/消息  点击屏幕空白处调用 
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
    UITextField* textField = (UITextField*)[self.window viewWithTag:100];
    //让键盘下去
    [textField resignFirstResponder];
    NSUserDefaults* user = [NSUserDefaults standardUserDefaults];
    NSString* email = [user objectForKey:@"email"];
}

//delegate
//是否允许开始编辑
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
    return YES;
}

- (void)textFieldDidBeginEditing:(UITextField *)textField{
    NSLog(@"开始编辑");
    //textField.frame = CGRectMake(10, 230 - 200, 300, 180);
    self.window.frame = CGRectMake(0, -200, 320, 480);
}

//是否允许结束编辑
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField{
    return YES;
}

//结束编辑
- (void)textFieldDidEndEditing:(UITextField *)textField{
    self.window.frame = CGRectMake(0, 0, 320, 480);
}

//是否允许改变内容
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
    //NSLog(@"%d----%d",range.location,range.length);
    NSLog(@"%@",string);
    return YES;
}

- (BOOL)textFieldShouldClear:(UITextField *)textField{
    return YES;
}

//键盘右下角return键
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
    NSLog(@"触发");
    return YES;
}

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • iOS AFNetworking网络请求知识

    [11.第三方源码-AFNetworking解析](https://www.jianshu.com/p/488c1f46cedd)

    Lee坚武
  • iOS 实时监听UITextField输入事件

    Lee坚武
  • AFNetworking设置请求头文件head

    Lee坚武
  • IOS UITextField文本框控件

    用户5760343
  • IOS UITextField UIButton 结合

    用户5760343
  • 教程:从零开始使用webpack 4, Babel 7创建一个React项目(2018)

    看到一篇还不错的文章,翻译(也不是完全翻译,还是改动了一点点让它变得更易理解)了一波,想看原文的移步这里。

    IMWeb前端团队
  • 《三维建模简介》课件

    对课件简单整理了下,每一次课后加了几个复习题,便于大家回顾复习。

    步行者08
  • 推荐系统从0到1[一]:数据与画像

    年终了,终于可以在需求的夹缝中喘息一会。回望2017年,最大的成就莫过于从0到1搭建起了一套支持多业务场景、高并发访问、高时效性的新闻推荐系统。这其中自是暗坑无...

    星回
  • Sharding-JDBC + MyBatis-Plus + Druid 实现读写分离(yml方式 和 xml方式)

    凡人飞
  • 调用Bytom Chrome插件钱包开发Dapp

    如果你使用的是测试网,可以去测试网水龙头领取BTM。 测试网水龙头:http://test.blockmeta.com/faucet.php

    比原链Bytom

扫码关注云+社区

领取腾讯云代金券