UI学习——UITextField控件

这篇具有很好参考价值的文章主要介绍了UI学习——UITextField控件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


一、UITextField控件

1.基本概念

UITextField是iOS开发中常用的控件之一,用于在应用程序中接收用户的文本输入。UITextField可以放置在视图层次结构中的任何位置,并通过键盘输入文本

2.基本属性

首先在viewController的接口部分定义一个UITextField对象,如下代码所示:

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController
{
    //定义一个textField
    //文本输入区域
    //例如,用户名,密码等需要输入文本文字的内容区域
    //只能输入单行的文字,不能输入或显示多行的文字
    UITextField* _textField;
}
@property (retain, nonatomic)UITextField* textField;
@end

下面在viewController的实现部分完成UITextField的一些功能

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    //创建一个文本输入区对象
    self.textField = [[UITextField alloc] init];
    //设定文本输入区的位置
    self.textField.frame = CGRectMake(100, 100, 180, 40);
    //设置textField的内容文字
    self.textField.text = @"用户名";
    //设置文字的字体大小
    self.textField.font = [UIFont systemFontOfSize: 15];
    //设置字体的颜色
    self.textField.textColor = [UIColor blackColor];
    //设置边框的风格
    //UITextBorderStyleRoundedRect:圆角风格
    //UITextBorderStyleLine:线框风格
    //UITextBorderStyleBezel:bezel线框
    //UITextBorderStyleNone:无边框风格
    self.textField.borderStyle = UITextBorderStyleRoundedRect;
    //设置虚拟键盘风格
    //UIKeyboardTypeDefault:默认风格
    //UIKeyboardTypeNamePhonePad:字母和数字组合风格
    //UIKeyboardTypeNumberPad:纯数字风格
    self.textField.keyboardType = UIKeyboardTypeDefault;
    //提示文字信息
    //当text属性为空,显示此条信息
    //浅灰色提示文字
    self.textField.placeholder = @"请输入用户名";
    //是否作为密码输入
    //YES:作为处理,原点加密
    //NO:正常显示输入的文字
    self.textField.secureTextEntry = NO;
    
    [self.view addSubview:self.textField];

}

运行结果如下:
uitextfielddelegate,ui,学习,ios,objective-c,开发语言

如果没有出现虚拟键盘的话可以在左上角的工具栏中找到I/O选项,点击后选择里边的keyboard的第三个选项
uitextfielddelegate,ui,学习,ios,objective-c,开发语言

如果需要虚拟键盘消失的话可以调用如下函数:

//点击屏幕空白处调用此函数
- (void) touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
    //使虚拟键盘回收,不再作为第一消息响应者
    [self.textField resignFirstResponder];
}

之后我们点击空白处虚拟键盘就会消失了。

二、UITextFieldDelegate协议

1.基本概念

UITextFieldDelegate协议是一个iOS开发中常用的协议,用于处理UITextField的一些事件和行为。通过实现UITextFieldDelegate协议中的方法,我们可以自定义UITextField的行为,例如限制输入字符,响应特定的文本变化事件等。跳转到该协议我们可以看到如下一些函数
uitextfielddelegate,ui,学习,ios,objective-c,开发语言
下面我们实现前四个函数。

2.基本属性

我们先在viewController接口部分定义该协议,之后在实现部分完成协议里的一些相关函数。

//UITextFieldDelegate协议里的函数

- (void)textFieldDidBeginEditing:(UITextField *)textField {
    NSLog(@"开始编辑");
}
- (void)textFieldDidEndEditing:(UITextField *)textField {
    NSLog(@"结束编辑");
}
//是否可以进行输入
//YES:可以进行输入,默认为YES
//NO不能输入文字
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
    return YES;
}
//是否可以结束输入
//YES:可以结束输入,默认为YES
//NO:不能结束输入文字
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField {
    return YES;
}
@end

需要注意的是我们还需要在viewDidLoad函数里设置代理对象才能成功调用上述函数,代码如下:

    //设置代理对象
    self.textField.delegate = self;

运行结果如下:
uitextfielddelegate,ui,学习,ios,objective-c,开发语言
当我们点击文本输入框时控制台会输出开始编辑,当我们点击空白部分时控制台会输出结束编辑。

如果我们在- (void)textFieldDidEndEditing:(UITextField *)textField函数里写self.textField.text = @""; 时,就会在点击空白部分清空文本输入框的内容。

总结

以上就是本篇文章的所有内容,如果对你有帮助的话请点赞支持一下~文章来源地址https://www.toymoban.com/news/detail-755037.html

到了这里,关于UI学习——UITextField控件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android学习之路(4) UI控件之输入框

    本节引言: 在本节中,我们来学习第二个很常用的控件EditText(输入框); 和TextView非常类似,最大的区别是:EditText可以接受用户输入! 如下图,相信你对于这种用户登录的界面并不陌生,是吧,我们很多时候都用的这种界面 相比另外这种,下面这种又如何? 还不赖是吧,当

    2024年02月13日
    浏览(42)
  • Android学习之路(4) UI控件之Button (按钮)与 ImageButton (图像按钮)

    本节引言: 今天给大家介绍的Android基本控件中的两个按钮控件,Button普通按钮和ImageButton图像按钮; 其实ImageButton和Button的用法基本类似,至于与图片相关的则和后面ImageView相同,所以本节 只对Button进行讲解,另外Button是TextView的子类,所以TextView上很多属性也可以应用到

    2024年02月12日
    浏览(44)
  • Android学习之路(5) UI控件之Button (按钮)与 ImageButton (图像按钮)

    本节引言: 今天给大家介绍的Android基本控件中的两个按钮控件,Button普通按钮和ImageButton图像按钮; 其实ImageButton和Button的用法基本类似,至于与图片相关的则和后面ImageView相同,所以本节 只对Button进行讲解,另外Button是TextView的子类,所以TextView上很多属性也可以应用到

    2024年02月12日
    浏览(41)
  • ios客户端学习笔记(七):iOS客户端的UI设计

    iOS客户端的UI设计是指在iOS操作系统上开发应用程序时所涉及的用户界面设计,包括应用程序的布局、颜色、字体、图标等元素的设计。良好的UI设计应该能够提高用户体验,使用户能够轻松地使用应用程序。 在iOS客户端的UI设计中,需要考虑以下几个方面: 应用程序布局应

    2023年04月26日
    浏览(46)
  • 【学习iOS高质量开发】——熟悉Objective-C

    Objective-C和Java、C++都是面向对象语言但是语法上有些许不同。OC使用“消息结构”而不是“函数调用”,这二者的区别主要体现在: 使用消息结构的语言,其运行所应执行的代码由运行环境来决定;使用函数调用的语言,则由编译器决定。OC的重要工作都是由运行期组件来完

    2024年01月19日
    浏览(47)
  • 【SAP UI5 控件学习】DAY04 Input组Part IV 完结&&List组Part I

    和Data Picker类似,Time Picker允许用户选择相应的时间。 它有以下一些比较常用的属性。 value 用于显示Input中的时间的值,这个属性只能接受字符串的值,如果是 UI5.getInstance() 获取到的时间,需要转化成相应的字符串才可以 valueFormat 用于设置显示日期的格式,这个格式会影响

    2024年02月13日
    浏览(43)
  • Winform UI界面设计例程——多线程访问UI控件

    这里讨论两种多线程访问UI控件的方法,线程完成后更新Lable控件 如下图,第一种方式为方式1按钮按下,线程运行,并更新label 第二种方法为按下方式2按钮,线程运行,完成后更新label  新建winform项目程序,布局如上,大家可以不用配色,简单即可 引用 using System.Threading;  

    2023年04月08日
    浏览(36)
  • C#线程操作UI控件

    在写winform程序时候,如果时间长的操作不用线程操作。那么会卡死UI,点击界面就体现为未响应。为此需要对耗时操作用线程处理,比如检验的监听程序就是一个死循环,不停检查文件夹或数据库又没有数据,然后上传。如果不时有线程,在数据多的情况,程序是基本点不动

    2024年02月13日
    浏览(32)
  • element ui 树形控件点击

      element 树形控件 点击当前节点,鼠标再离开后,当前节点就是个白色的背景颜色,我试了很多方法都不能完全性解决这个问题,最后是         .el-tree-node:focus .el-tree-node__content {             background-color: #06518c;         }         .el-tree-node__content:active {             b

    2024年01月22日
    浏览(38)
  • c# 跨线程访问UI控件

            在一个应用程序中,往往存在两种线程:UI线程和工作线程。         UI线程有窗口,创建窗口的控件,且有消息队列对窗口和控件的消息进行管理。主要处理和UI相关的逻辑。         工作线程主要处理和业务相关的比较复杂的逻辑,当处理好之后有可能会调用U

    2024年02月08日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包