http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 3188|回复: 5

[新手开发之旅] iOS新手开发之旅-UI控件之UITextfield

[复制链接]
发表于 2018-12-2 18:45:59 | 显示全部楼层 |阅读模式
本帖最后由 竹林风 于 2018-12-3 11:17 编辑



文章导航  

【iOS新手开发之旅】   http://www.sufeinet.com/thread-24000-1-1.html



概述

  • UITextField在界面中显示可编辑文本区域的对象。
  • 您可以使用文本字段来使用屏幕键盘从用户收集基于文本的输入。键盘可以配置许多不同类型的输入,如纯文本,电子邮件,数字等等。文本字段使用目标操作机制和委托对象来报告在编辑过程中所做的更改。

除了基本的文本编辑行为之外,还可以将叠加视图添加到文本字段以显示其他信息并提供其他可定位控件。您可以为诸如书签按钮或搜索图标等元素添加自定义叠加视图。文本字段提供内置的叠加视图来清除当前文本。自定义覆盖视图的使用是可选的。

属性和方法
[Objective-C] 纯文本查看 复制代码
- (void)viewDidLoad {
    [super viewDidLoad];
    
    self.view.backgroundColor = [UIColor yellowColor];
    
    
    //创建一个TextField
    UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(100, 100, 180, 50)];
    //设置占位文本
    textField.placeholder = @"请输入文字";
    //设置文本
    textField.text = @"测试";
    //设置文本的颜色
    textField.textColor = [UIColor redColor];
    //设置文本的字体
    textField.font = [UIFont systemFontOfSize:14];
//    设置文本的对齐方式
    textField.textAlignment = NSTextAlignmentRight;
//    设置输入框不能编辑
//    [textField setEnabled:NO];
    //    设置编辑框中的内容密码显示
//    textField.secureTextEntry = YES;
//    设置边框样式(更多边框样式可右键点击UITextBorderStyleRoundedRect跳转到定义查看)默认的样式为UITextBorderStyleNone
    textField.borderStyle = UITextBorderStyleRoundedRect;
//    设置清除按钮的模式(更多边框样式可右键点击UITextFieldViewModeNever跳转到定义查看)默认样式为UITextFieldViewModeNever
    textField.clearButtonMode = UITextFieldViewModeUnlessEditing;
    //    文本字段文本的最小字体大小。当“调整为适合”选项启用时,文本字段会自动更改字体大小以确保文本的最大可读性。您可以使用此属性来指定您认为适合文本的最小字体大小。
    
    textField.minimumFontSize = 12;
    
    //    设置键盘类型(更多边框样式可右键点击UIKeyboardTypeNumberPad跳转到定义查看)
    textField.keyboardType = UIKeyboardTypeNumberPad;
    
//    设置键盘上返回键的类型(更多边框样式可右键点击UIReturnKeyJoin跳转到定义查看)
    textField.returnKeyType = UIReturnKeyJoin;
//    设置键盘的视觉样式(更多边框样式可右键点击UIKeyboardAppearanceLight跳转到定义查看)
    textField.keyboardAppearance = UIKeyboardAppearanceLight;
    //    文本字段的拼写检查行为。此属性决定了拼写检查在打字过程中是启用还是禁用
    
    //    此属性决定了拼写检查在打字过程中是启用还是禁用。启用拼写检查后,文本对象会为所有拼写错误的单词生成红色下划线。如果用户点击拼写错误的单词,则文本对象向用户呈现可能的更正列表。
    //    此属性的默认值是default,启用自动更正时启用拼写检查。此属性中的值将覆盖用户在“设置”>“常规”>“键盘”中设置的拼写检查设置。
    
    textField.spellCheckingType = UITextSpellCheckingTypeNo;
    
//    文本字段的自动纠正行为。此属性确定在输入过程中自动更正是启用还是禁用
    textField.autocorrectionType = UITextAutocorrectionTypeYes;
//    自动大写样式适用于键入的文本。此属性决定在什么时候自动按下Shift键
    textField.autocapitalizationType = UITextAutocapitalizationTypeAllCharacters;
//    设置左边视图(注意:需要先设置左边视图的显示模式为UITextFieldViewModeAlways)
    textField.leftViewMode = UITextFieldViewModeAlways;
    UIView *vLeft = [UIView new];
    vLeft.frame = CGRectMake(0, 0, 40, 40);
    UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(10, 10, 20, 20)];
    imageView.image = [UIImage imageNamed:@"phone"];
    [vLeft addSubview:imageView];
    textField.leftView = vLeft;
    
//    设置右边视图(注意:需要先设置右边视图的显示模式为UITextFieldViewModeAlways)
//    textField.rightViewMode = UITextFieldViewModeAlways;
//    UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(10, 10, 20, 20)];
//    imageView.image = [UIImage imageNamed:@"code"];
//    textField.rightView = imageView
//代理方法,设置委托执行者为当前类(首先需要在构造方法(.h或者.m文件都可)处添加<UITextFieldDelegate>表示遵循此协议)
    textField.delegate = self;

    [self.view addSubview:textField];
}

//代理方法实现

//询问委托人是否应该在指定的文本字段中开始编辑。
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
    
    // return NO to disallow editing.
    return YES;
}

//告诉委托人在指定的文本字段中开始编辑。

- (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
    return YES;
}

//告诉委托人对指定的文本字段停止编辑。

- (void)textFieldDidEndEditing:(UITextField *)textField reason:(UITextFieldDidEndEditingReason)reason NS_AVAILABLE_IOS(10_0){
    // if implemented, called in place of textFieldDidEndEditing:
    
}

//询问委托人是否应该更改指定的文本。

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
    // return NO to not change text
    
    return NO;
}

//询问委托人是否应删除文本字段的当前内容。

- (BOOL)textFieldShouldClear:(UITextField *)textField{
    // called when clear button pressed. return NO to ignore (no notifications)
    return NO;
}

//询问委托人文本字段是否应处理按下返回按钮。

- (BOOL)textFieldShouldReturn:(UITextField *)textField{
    // called when 'return' key pressed. return NO to ignore.
    return NO;
}



运行效果


E49B78F9703219416F4B16141428CF0C.jpg


附件: Test-UITextField.zip (139.36 KB, 下载次数: 0)


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
 楼主| 发表于 2018-12-3 16:23:20 | 显示全部楼层
UITextField 相关扩展

UITextField键盘,边框,清除按钮等相关属性枚举详解
http://www.sufeinet.com/thread-24110-1-1.html
(出处: 苏飞论坛)

iOS怎么让UITextField 的placeHolder 文字自适应宽度
http://www.sufeinet.com/thread-24111-1-1.html
(出处: 苏飞论坛)



发表于 2018-12-2 18:54:49 | 显示全部楼层
强烈支持楼主ing……
发表于 2018-12-3 10:02:48 | 显示全部楼层
赞一个, 给楼主一个大拇指, 加油
发表于 2018-12-3 14:07:58 | 显示全部楼层
楼主加油,我们都看好你哦。
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-11-22 12:20

© 2014-2021

快速回复 返回顶部 返回列表