首页 > 其他分享 >IOS学习-UITextField

IOS学习-UITextField

时间:2023-06-02 20:04:30浏览次数:52  
标签:textField2 textField1 20 self IOS 学习 UITextField textField


《iOS 8开发指南》,自己总结用

UITextField

文本框(UITextField)是一种常见的信息输入机制,类似于Web表单中的表单字段。

文本框基础

常用属性

(1) boderStyle属性:设置输入框的边框线样式
(2) backgroundColor属性:设置输入框的背景颜色,使用其font属性设置字体。
(3) clearButtonMode属性:设置一个清空按钮,通过设置clearButtonMode可以指定是否以及何时显示清楚按钮
——》 UITextFieldViewModeAlways 不为空,获得焦点于没有获得焦点都显示清空按钮
——》 UITextFieldViewModeNever 不显示清空按钮
——》UITextFieldViewModeWhileEditing 不为空,且在编辑状态时(及获得焦点)显示清空按钮
——》UITextFieldViewModeUnlessEditing 不为空,且不在编辑状态d时(焦点不在输入框上)显示清空按钮

小例子

-(void)testUITextField{
//    UITextFieldViewModeAlways 不为空,获得焦点于没有获得焦点都显示清空按钮
//    UITextFieldViewModeNever 不显示清空按钮
//    UITextFieldViewModeWhileEditing 不为空,且在编辑状态时(及获得焦点)显示清空按钮
//    UITextFieldViewModeUnlessEditing 不为空,且不在编辑状态d时(焦点不在输入框上)显示清空按钮
    self.view.backgroundColor  = [UIColor whiteColor];
    UITextField *textField = [[UITextField alloc]init];
    textField.frame = CGRectMake(20, 100, 280, 30);
    textField.borderStyle = UITextBorderStyleRoundedRect; //圆角
    textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
    textField.placeholder = @"请输入信息";
    [self.view addSubview:textField];
}

设置文本输入框的边框线样式

// 设置文本输入框的边框线样式
-(void)testUITextField2{
    self.view.backgroundColor = [UIColor whiteColor];
    
    UITextField* textField1 = [[UITextField alloc] init];
    textField1.delegate = self;
    textField1.frame = CGRectMake(20, 20, 280, 30);
    textField1.borderStyle = UITextBorderStyleLine;
    textField1.text = @"aaaaaaaa";
    textField1.returnKeyType = UIReturnKeyNext;
    [self.view addSubview:textField1];
    
    UITextField *textField2 = [[UITextField alloc]init];
    textField2.delegate = self;
    textField2.frame = CGRectMake(20, 60, 280, 30);
    textField2.borderStyle = UITextBorderStyleBezel;
    textField2.text = @"bbbbbbbbb";
    textField2.returnKeyType = UIReturnKeyNext;
    [self.view addSubview:textField2];
    
    UITextField *textField3 = [[UITextField alloc]init];
    textField3.delegate = self;
    textField3.frame = CGRectMake(20, 100, 280, 30);
    textField3.borderStyle = UITextBorderStyleRoundedRect;
    textField3.text = @"ccccccccc";
    textField3.returnKeyType = UIReturnKeyNext;
    [self.view addSubview:textField3];
    
    UITextField *textField4 = [[UITextField alloc]init];
    textField4.delegate = self;
    textField4.frame = CGRectMake(20, 140, 280, 30);
    textField4.borderStyle = UITextBorderStyleNone;
    textField4.text = @"ddddddddd";
    textField4.returnKeyType = UIReturnKeyNext;
    [self.view addSubview:textField4];
    
    self.textFields_ = [[NSArray alloc]initWithObjects:textField1,textField2,textField3,textField4,nil];
}

- (void)textFieldDidBeginEditing:(UITextField *)textField{
    self.currentFieldIndex = [self.textFields_ indexOfObject:textField];
}

- (BOOL)textFieldShouldReturn:(UITextField *)textField{
    if(self.textFields_.count <= ++self.currentFieldIndex) {
        self.currentFieldIndex = 0;
    }
    // 重新选中UITextField
    UITextField * newField = [self.textFields_ objectAtIndex:self.currentFieldIndex];
    if([newField canBecomeFirstResponder]) {
        [newField becomeFirstResponder];
    }
    return YES;
}

设置文本数据框的字体和颜色

//设置文本数据框的字体和颜色
-(void)testUITextField3{
    self.view.backgroundColor = [UIColor whiteColor];
    UITextField* textField = [[UITextField alloc]init];
    textField.frame = CGRectMake(20, 100, 280, 50);
    textField.borderStyle = UITextBorderStyleBezel;
    textField.backgroundColor = [UIColor blackColor];//设置背景颜色
    textField.textColor = [UIColor redColor];
    textField.font = [UIFont systemFontOfSize:36]; //设置字体大小
    textField.text = @"看我的字体和颜色";
    [self.view addSubview:textField];
}

在文本框中设置一个清空按钮

//在文本框中设置一个清空按钮
-(void)textUITextField4{
    self.view.backgroundColor = [UIColor whiteColor];
    
    UITextField *textField1 = [[UITextField alloc]init];
    textField1.delegate = self;
    textField1.clearsOnBeginEditing = YES;
    textField1.frame = CGRectMake(20, 20, 280, 30);
    textField1.borderStyle = UITextBorderStyleRoundedRect;
    textField1.clearButtonMode = UITextFieldViewModeNever;
    textField1.text = @"UITextFieldViewModeNever";
    [self.view addSubview:textField1];
    
    UITextField *textField2 = [[UITextField alloc] init];
    textField2.delegate = self;
    textField2.frame = CGRectMake(20, 60, 280, 30);
    textField2.borderStyle = UITextBorderStyleRoundedRect;
    textField2.clearButtonMode = UITextFieldViewModeWhileEditing;
    textField2.text = @"UITextFieldViewModeWhileEditing";
    [self.view addSubview:textField2];
    
    UITextField *textField3 = [[UITextField alloc]init];
    textField3.delegate = self;
    textField3.frame = CGRectMake(20, 100, 280, 30);
    textField3.borderStyle = UITextBorderStyleRoundedRect;
    textField3.clearButtonMode = UITextFieldViewModeUnlessEditing;
    textField3.text = @"UITextFieldViewModeUnlessEditing";
    [self.view addSubview:textField3];
    
    UITextField *textField4 = [[UITextField alloc]init];
    textField4.delegate = self;
    textField4.frame = CGRectMake(20, 140, 280, 30);
    textField4.borderStyle = UITextBorderStyleRoundedRect;
    textField4.clearButtonMode = UITextFieldViewModeAlways;
    textField4.text = @"UITextFieldViewModeAlways";
    [self.view addSubview:textField4];
    
    self.textFields_ = [[NSArray alloc] initWithObjects:textField1,textField2,textField3,textField4, nil];
}

- (BOOL)textFieldShouldClear:(UITextField *)textField{
    NSLog(@"textFieldShouldClear:%@", textField.text);
    return YES;
}

为文本输入框设置背景图片

// 为文本输入框设置背景图片
-(void)testUITextField5{
    self.view.backgroundColor = [UIColor whiteColor];
    //导入背景图片
    UIImage *imageWithPaper = [UIImage imageNamed:@"按钮背景"];
    UIImage *stretchableWhitePaper = [imageWithPaper stretchableImageWithLeftCapWidth:20 topCapHeight:20];
    UIImage *imageGrayPaper = [UIImage imageNamed:@"setting_background_four"];
    UIImage *stretchableGrayPaper = [imageGrayPaper stretchableImageWithLeftCapWidth:20 topCapHeight:20];
    // 创建UITextField实例
    UITextField *textField = [[UITextField alloc]init];
    textField.delegate = self;
    textField.frame = CGRectMake(20, 100, 280, 50);
    textField.background = stretchableWhitePaper;
    textField.disabledBackground = imageGrayPaper;
    textField.text = @"有图片";
    textField.textAlignment = UITextAlignmentCenter;
    textField.contentVerticalAlignment = UIControlContentHorizontalAlignmentCenter;
    [self.view addSubview:textField];
}

- (BOOL)textFieldShouldReturn:(UITextField *)textField{
    textField.enabled = NO;
    return YES;
}


标签:textField2,textField1,20,self,IOS,学习,UITextField,textField
From: https://blog.51cto.com/u_11797608/6404739

相关文章

  • 数据治理专业认证CDMP学习笔记(思维导图与知识点)- 第10章参考数据和主数据篇
    大家好,我是独孤风,一位曾经的港口煤炭工人,目前在某国企任大数据负责人,公众号大数据流动主理人。在最近的两年的时间里,因为公司的需求,还有大数据的发展趋势所在,我开始学习数据治理的相关知识。数据治理需要进行系统的学习才能真正掌握,也需要进行专业的考试认证才能证明自己在数据治理......
  • IOS上架流程详解,包含审核避坑指南!
    ​准备开发者账号完工的项目上架步骤一、创建AppID二、创建证书请求文件(CSR文件)三、创建发布证书(CER)四、创建ProvisioningProfiles配置文件(PP文件)五、在AppStore创建应用六、打包上架一、创建AppID1.打开苹果开发者网,点击“Account”登录会员中心 ​......
  • IOS上架流程详解,包含审核避坑指南!
    ​准备开发者账号完工的项目上架步骤一、创建AppID二、创建证书请求文件(CSR文件)三、创建发布证书(CER)四、创建ProvisioningProfiles配置文件(PP文件)五、在AppStore创建应用六、打包上架一、创建AppID1.打开苹果开发者网,点击“Account”登录会员中心 ​......
  • use a circular buffer for video frames on iOS
    https://stackoverflow.com/questions/33581369/how-to-use-tpcircularbuffer-for-videohttps://github.com/jeremytregunna/Ringhttps://www.codesd.com/item/is-it-possible-to-use-a-circular-buffer-for-video-images-on-ios.htmlhttp://atastypixel.com/blog/a-simple-fa......
  • iOS应用上架详细图文教程
    ​ AppStore作为苹果官方的应用商店,审核严格周期长一直让用户头疼不已,很多app都“死”在了审核这一关,那我们就要放弃iOS用户了吗?当然不是!本期我们从iOSapp上架流程开始梳理,详细了解下iOSapp上架的那些事。 iOSapp上架总体流程: ​编辑1登录苹果开发者中心,注册开发......
  • 学习笔记——软件、软件分类、软件测试、数据的形式与数制(进制之间的转化)
    2023-06-02一、软件1、软件包含的内容:程序、数据和文档①程序:一遍是由编程语言编写的,例如:C、C++、java、Python等。②数据:一般使用文件或者数据库来存储数据③文档:包括安装说明书、帮助文档、许可协议等。 2、软件分类2.1安装功能用途分类(1)系统软件例如:操作系统:Unix、W......
  • iOS应用上架详细图文教程
    ​ AppStore作为苹果官方的应用商店,审核严格周期长一直让用户头疼不已,很多app都“死”在了审核这一关,那我们就要放弃iOS用户了吗?当然不是!本期我们从iOSapp上架流程开始梳理,详细了解下iOSapp上架的那些事。 iOSapp上架总体流程: ​编辑1登录苹果开发者中心,注册开发......
  • 看书学习方法总结
    1、一小节一小节的看和记忆,然后复述回顾每一小节的内容,等把一章节看完过后,再把一章节的内容复述回忆出来(系统学习法)这个方法需要耐心,做足长期准备,而不是一次或者几天全部记忆完成。类似于诸葛亮的看书方法:看完一本就烧一本书,内容全部在脑子里需要注意的是:要尽量把......
  • uniapp专题学习(五)
    前言在uniapp专题学习(四)中学习了以下知识点:native修饰符、父子组件间的传值、sync修饰符与update响应式写法、vue的生命周期、uniapp的界面的交互反馈(uniapp的api比较多,所以只练习了一部分,更多的用法可以参考uniappapi)。动态设置TabBaruni.setTabBarItem(OBJECT)动态设置......
  • 学习第一天
    Markdown学习标题语法:#空格+名字(最多六级)字体粗体语法:文本前后加双星号aimaomaoya斜体语法:文本前后加单星号aimaomaoya斜体+粗体语法:文本前后加三星号aimaomaoya删除线语法:文本前后+~~aimaomaoya引用语法:(文本前+>)爱毛毛呀 分割线3-/3*图片本地语法:......