1.UITextField的初始化和设置 textField = [[UITextField alloc] initWithFrame:CGRectMake(120.0f, 80.0f, 150.0f, 30.0f)]; [textField setBorderStyle:UITextBorderStyleRoundedRect]; //外框类型 //如果出现UITextField不显示的情况,很可能是没设置其BorderStyle textField.placeholder = @"password"; //默认显示的字 textField.secureTextEntry = YES; //密码 textField.autocorrectionType = UITextAutocorrectionTypeNo; textField.autocapitalizationType = UITextAutocapitalizationTypeNone; textField.returnKeyType = UIReturnKeyDone; textField.clearButtonMode = UITextFieldViewModeWhileEditing; //编辑时会出现个修改X textField.delegate = self; 2.要实现的Delegate方法,关闭键盘 - (BOOL)textFieldShouldReturn:(UITextField *)textField { [self.textField resignFirstResponder]; return YES; } 3. 可以在UITextField使用下面方法,按return键返回 -(IBAction) textFieldDone:(id) sender { [textFieldName resignFirstResponder]; } 链接TextField控件的"Did end on exit" 最右侧加图片是以下代码, UIImageView *imgv=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"right.png"]]; text.rightView=imgv; text.rightViewMode = UITextFieldViewModeAlways; 如果是在最左侧加图片就换成: text.leftView=imgv; text.leftViewMode = UITextFieldViewModeAlways; UITextField 继承自 UIControl,此类中有一个属性contentVerticalAlignment 所以想让UITextField里面的text垂直居中可以这样写: text.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter; 查看函数的方法: 按住command键双击进入函数声明 按住alt键双击进入doc文档 /////////////////////////////////////////////////////////////// 文本框常用方法: 如何用程序删除文本框中选中的文本 [textView delete: nil]; /////////////////////////////////////////////////////////////// 如何限制文本框只能输入数字: 建立NSNumberFormatter的子类,增加这个方法,将formatter链接至文本框。 - (BOOL) isPartialStringValid: (NSString **) partialStringPtr proposedSelectedRange: (NSRangePointer) proposedSelRangePtr originalString: (NSString *) origString originalSelectedRange: (NSRange) origSelRange errorDescription: (NSString **) error { NSCharacterSet *nonDigits; NSRange newStuff; NSString *newStuffString; nonDigits = [[NSCharacterSet decimalDigitCharacterSet] invertedSet]; newStuff = NSMakeRange(origSelRange.location, proposedSelRangePtr->location - origSelRange.location); newStuffString = [*partialStringPtr substringWithRange: newStuff]; if ([newStuffString rangeOfCharacterFromSet: nonDigits options: NSLiteralSearch].location != NSNotFound) { *error = @"不是数字"; return (NO); } else { *error = nil; return (YES); } } /////////////////////////////////////////////////////////////// 从文本框获取十六进制数据的代码 char singleNumberString[3] = {'\0','\0','\0'}; uint32_t singleNumber = 0; uint32_t i = 0; NSMutableData *data = [NSMutableData data]; //从文本框获取到得数据 const char *buf = [[_hexToSendTextField text] UTF8String]; //转换为十六进制 for(i = 0; i < strlen(buf); i+=2) { if(((i+1) < len && isxdigit(buf) && (isxdigit(buf[i+1]))) { singleNumberString[0] = buf; singleNumberString[1] = buf[i+1]; sscanf(singleNumberString, "%x", &singleNumber); [data appendBytes:(void*)(&tmp) length:1]; } else { break; } } //输出 NSLog(@"%@", data); ///////////////////////////////////////////////////////////// 点击 UITextView 输入文字,光标都从最初点开始 - (void)textViewDidChangeSelection:(UITextView *)textView { NSRange range; range.location = 0; range.length = 0; textView.selectedRange = range; } /////////////////////////////////////////////////////////// 软键盘 在登录页面要实现用户名和密码,密码要是点点格式,引入当前页面光标要停留在用户名选项,软键盘要弹出界面。如下图: 弹出键盘: [username becomeFirstResponder]; 取消键盘: [username resignFirstResponder]; 密码保护: password.secureTextEntry=YES; ////////////////////////////////////////////////////////////////// 1.UITextField的初始化和设置 textField = [[UITextField alloc] initWithFrame:CGRectMake(120.0f, 80.0f, 150.0f, 30.0f)]; [textField setBorderStyle:UITextBorderStyleRoundedRect]; //外框类型 textField.placeholder = @"password"; //默认显示的字 textField.secureTextEntry = YES; //密码 textField.autocorrectionType = UITextAutocorrectionTypeNo; textField.autocapitalizationType = UITextAutocapitalizationTypeNone; textField.returnKeyType = UIReturnKeyDone; textField.clearButtonMode = UITextFieldViewModeWhileEditing; //编辑时会出现个修改X textField.delegate = self; 2.要实现的Delegate方法,关闭键盘 - (BOOL)textFieldShouldReturn:(UITextField *)textField { [self.textField resignFirstResponder]; return YES; } 3. 可以在UITextField使用下面方法,按return键返回 -(IBAction) textFieldDone:(id) sender { [textFieldName resignFirstResponder]; } 链接TextField控件的"Did end on exit" //////////////////////////////////////////////////////////////////// 限制输入文本的长度 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { if (range.location >= MAX_LENGTH) return NO; // return NO to not change text return YES; } if (textField.text.length >= 10 && range.length == 0) return NO; return YES; - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { if ([textField.text length] > MAXLENGTH) { textField.text = [textField.text substringToIndex:MAXLENGTH-1]; return NO; } return YES; } ////////////////////////////////////////////////////////////////////// 使用UITextFieldDelegate来隐藏键盘 在iPhone界面上,时常会需要当用户输入完内容后,隐藏键盘。 当然有很多方法,今天只介绍使用UITextFieldDelegate这个协议实现隐藏键盘。 其实很简单, 需要三步: 1. 在你的控制器类中,加入UITextFieldDelegate这个协议 如:@interface AddItemViewController : UIViewController <UITextFieldDelegate> 2. 在使用了UITextFieldDelegate协议的控制器类的实现中,加入- (BOOL)textFieldShouldReturn:方法。 - (BOOL)textFieldShouldReturn:(UITextField *)textField { [textField resignFirstResponder]; return YES; } //设置焦点: [UITextField becomeFirstResponder]; 3. 将xib文件中的TextField控件的delegate变量指向到之前使用UITextFieldDelegate协议的那个控制器类,将 TextField的delegate IBOutlet变量右键链接到前面的控制器类的实例上。或者使用代码方式,指定相关TextField的delegate变量。 - (void)viewDidLoad { [super viewDidLoad]; itemNameField.delegate = self; priceField.delegate = self; } ---------------------------1.创建并初始化
创建UITextView的文件,并在.h文件中写入如下代码:
#import <UIKit/UIKit.h> @interface TextViewController : UIViewController <UITextViewDelegate> { UITextView *textView; } @property (nonatomic, retain) UITextView *textView; @end
在.m文件中初始化这个textview,写入代码如下:
self.textView = [[[UITextView alloc] initWithFrame:self.view.frame] autorelease];//初始化大小并自动释放
self.textView.textColor = [UIColor blackColor];//设置textview里面的字体颜色
self.textView.font = [UIFont fontWithName:@"Arial"size:18.0];//设置字体名字和字体大小
self.textView.delegate= self;//设置它的委托方法
self.textView.backgroundColor = [UIColor whiteColor];//设置它的背景颜色
self.textView.text =@"Now is the time for all good developers to come to serve their country.\n\nNow is the time for all good developers to come to serve their country.";//设置它显示的内容
self.textView.returnKeyType = UIReturnKeyDefault;//返回键的类型
self.textView.keyboardType = UIKeyboardTypeDefault;//键盘类型
self.textView.scrollEnabled = YES;//是否可以拖动
self.textView.autoresizingMask = UIViewAutoresizingFlexibleHeight;//自适应高度
[self.view addSubview: self.textView];//加入到整个页面中
2. UITextView退出键盘的几种方式
因为你点击UITextView会出现键盘,如果你退出键盘,有如下几种方式:
(1)如果你程序是有导航条的,可以在导航条上面加多一个Done的按钮,用来退出键盘,当然要先实UITextViewDelegate。
代码如下:
- (void)textViewDidBeginEditing:(UITextView *)textView {
UIBarButtonItem *done = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(leaveEditMode)] autorelease];
self.navigationItem.rightBarButtonItem = done;
}
- (void)textViewDidEndEditing:(UITextView *)textView {
self.navigationItem.rightBarButtonItem = nil;
}
- (void)leaveEditMode {
[self.textView resignFirstResponder];
}
(2)如果你的textview里不用回车键,可以把回车键当做退出键盘的响应键。
代码如下:
#pragma mark - UITextView Delegate Methods
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if([text isEqualToString:@"\n"]) {
[textView resignFirstResponder];
returnNO;
}
returnYES;
}
这样无论你是使用电脑键盘上的回车键还是使用弹出键盘里的return键都可以达到退出键盘的效果。(3)还有你也可以自定义其他加载键盘上面用来退出,比如在弹出的键盘上面加一个view来放置退出键盘的Done按钮。
代码如下:
UIToolbar * topView = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 30)];
[topView setBarStyle:UIBarStyleBlack];
UIBarButtonItem * helloButton = [[UIBarButtonItem alloc]initWithTitle:@"Hello"style:UIBarButtonItemStyleBordered target:self action:nil];
UIBarButtonItem * btnSpace = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
UIBarButtonItem * doneButton = [[UIBarButtonItem alloc]initWithTitle:@"Done"style:UIBarButtonItemStyleDone target:self action:@selector(dismissKeyBoard)];
NSArray * buttonsArray = [NSArray arrayWithObjects:helloButton,btnSpace,doneButton,nil];
[doneButton release];
[btnSpace release];
[helloButton release];
[topView setItems:buttonsArray];
[tvTextView setInputAccessoryView:topView];
-(IBAction)dismissKeyBoard
{
[tvTextView resignFirstResponder];
}
(4)设置UITextView圆角问题
做法是在 #import QuartzCore/QuartzCore.h 后,便能調用 [textView.layer setCornerRadius:10]; 來把 UITextView 设定圓角
(5)UITextView根据文本大小自适应高度
通过实现文本字数来确定高度,如下:
NSString * desc =@"Description it is a test font, and don't become angry for which i use to do here.Now here is a very nice party from american or not!";
CGSize size = [desc sizeWithFont:[UIFont systemFontOfSize:14] constrainedToSize:CGSizeMake(240, 2000) lineBreakMode:UILineBreakModeWordWrap];
然后需要定义UITextView的numberoflines为0,即不做行数的限制。如下:
[textView setNumberOfLines:0];
[textView setFrame:CGRectMake(40, 135, 240, size.height+10)];
[textView setText:desc];
(6)UITextView自定选择文字后的菜单
在ViewDidLoad中加入:
UIMenuItem *menuItem = [[UIMenuItem alloc]initWithTitle:@"分享到新浪微博"action:@selector(changeColor:)];
UIMenuController *menu = [UIMenuController sharedMenuController];
[menu setMenuItems:[NSArray arrayWithObject:menuItem]];
[menuItem release];
当然上面那个@selector里面的changeColor方法还是自己写吧,也就是说点击了我们自定义的菜单项后会触发的方法。
然后还得在代码里加上一个方法:
-(BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
if(action == @selector(changeColor:))
{
if(textView.selectedRange.length>0)
returnYES;
}
returnNO;}
相关推荐
Windows安装ros2(Jazzy版本+win10/win11)-1.配置windows终端
更高版本的terminal可能设置里更加丰富, 有默认以管理员身份启动的选项等,可自行配置。打开微软应用商店, 在其中搜索并下载 Terminal 即可(注意别挂梯子)下载并安装, 安装的位置自行替换,建议别放到系统盘中。点击任务栏中的搜索, 输入store。
自适应键盘,自带隐藏键盘的输入框(UITextField)
在本篇博客中,我们演示了简单的实现方式,已经能够满足大部分需求。进一步优化的话,我们可以定制输入框与键盘之间的距离,还可以自动获取需要上移的视图等功能,这些都可以根据具体需求进行定制和扩展。
手把手教你用srec_cat生成带CRC校验的STM32固件(解决OTA常见校验失败问题)
本文针对STM32 OTA升级中常见的固件校验失败问题,提供了一套使用srec_cat工具自动生成带CRC32校验固件的实战解决方案。文章详细拆解了命令参数,指导开发者如何为固件嵌入CRC值、处理地址偏移及合并文件,从而确保Bootloader能可靠校验固件完整性,提升远程更新的稳定性。
【iOS】基本控件:文本输入框、开关、分段控件、滑块与输入键盘隐藏的问题
文本输入框TextField、开关Switch、分段控件Segmented Control和滑块Slider是iOS开发中基本的控件之一。下面将说明这些怎么使用。在文本输入框TextField还同时包含输入键盘隐藏问题、输入长度限制问题,因为iOS文本输入框TextField的输入键盘隐藏问题、输入长度限制不像C#在傍边的控件属性栏、安卓在xml中一个属性设置下就可以,需要用代码实现。下面用一个例
九齐NY8A051F低功耗模式全解析:从待机到休眠的省电实战
本文全面解析台湾九齐NY8A051F MCU的低功耗模式,从待机到休眠的省电实战技巧。通过实测数据展示四种工作模式的电流消耗差异,提供模式切换的标准流程和唤醒时序优化策略,并分享外围电路省电设计和低电压检测的实战应用,帮助开发者实现物联网设备的超长续航。
Windows防火墙服务异常修复指南:0x80070422与0x6D9报错实战处理
本文针对Windows防火墙服务异常导致的0x80070422与0x6D9报错,提供了从基础到进阶的实战修复指南。核心是通过services.msc服务管理器检查并修复Windows Firewall服务,包括设置启动类型、检查依赖服务等关键步骤。同时介绍了当基础方法失效时,如何使用命令行工具、系统文件检查器(SFC/DISM)以及排查组策略与第三方软件冲突等深度解决方案,帮助用户彻底解决防火墙服务无法启动或访问的问题。
iOS验证码及密码输入框的实现
1.输入框的实现分析 主要由可见的6个方格子组成,这里可以看成6个输入框或者显示标签。输入6个数字,组成密码或者验证码,可以创建6个textField拼接,也可以用6个label去显示,具体做法都可以,主要是实现的逻辑。 首先用户在来到输入页面的时候,键盘一般是弹起的,所以得有个textFiled作为焦点弹起键盘,接收输入事件,这里我选用的是用6个label去显......
“三进制”bonsai27b+NInfer=6g显存闪电侠(token真的自由了!)
本文将1.58-bit三元大模型Bonsai27B成功移植至NInfer推理引擎,并在RTX 4080 SUPER上实现100+ token/s的极速推理。通过自研补丁扩展NInfer支持Ada架构与三元量化格式,解决激活布局、行置换等关键bug,实测PPL 6.445,单流吞吐达96.7–130.8 t/s,20题基准得分16/20。附完整复现包(含文档、工具、源码补丁),零权重分发,助力垃圾显卡跑通27B级模型。
「OC」UI练习(一)—— 登陆界面
一个登陆界面的组成,用户名提示以及输入框,密码提示提示以及输入框,登陆按钮,以及注册按钮,根据以上要求我们将我们的组件设置为成员变量。
CANape快速上手
文章帮助记录CANape学习过程。
第二章:创建交互式地图
那么您应该已经有了一个安装了这些包的 conda 环境。否则,您需要创建一个新的 conda 环境并使用以下命令安装。
iOS UIAlertController增加输入框UITextField
利用系统的UIAlertController增加UITextfield。第一种:创建一个UIView在view上添加UITextfield和按钮。记录今天遇到的一个小需求,要在弹窗上面增加一个输入框,有两种实现方法。
g2o&PCL 四阶多项式拟合
g2o&PCL 四阶多项式拟合
UITextField和UITextView详解
UITextField : 只能输入一行,不可以滚动,可以设置提醒文字。 UITextView: 能输入多行,可以滚动,不可以设置提醒文字。 //初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)] //设
锂电池充电器电路设计 里面有电路
锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。
复分析 阿尔福斯(Ahlfors) 第三版答案 英文
答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案
iOS UITextView,UITextField,UILabel
文章目录什么情况下使用标签,文本域和文本视图UITextViewUITextField 什么情况下使用标签,文本域和文本视图 UILabel:显示只读文本,最最基本的显示文字的,支持单行或多行, UITextField:可编辑文本,但是无法换行,只能在一行显示。当点击键盘上的return时会收到一个事件做一件事。当内容太长一行没有完全显示时,提供水平方向的字符的定位seeking。主要用于简短的文...
大中型超市收银系统(可直接运行)
光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开
ios中实现对UItextField,UITextView等输入框的字数限制
转: 如何实现对UITextField ,UITextView等输入框的 字数限制 分类: ui控件 2011-10-05 16:48 533人阅读 评论(0) 收藏 举报 1. 如何实现对UITextField ,UITextView等输入框的 字数限制 (1)首先,肯定要 让controller 实现 UITextFieldDelega
汉书HE8,好用的汇编代码编写工具
汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大
IOS 学习笔记 UITextView UITextField 协议
该篇笔记记录了UITextView UITextField 以及相关delegate的使用,回调方法的使用,三分钟即可熟悉这两个视图控件以及使用他们
iOS 用UITextView实现UITextField的多行显示效果 并计算输入剩余数
在iOS中的文本输入框并不像Android
UITextField、UITextView--文本输入框,以及文本输入域
控件都和w'n'g
ios基础篇(三)—— UITextField、UITextView
0.enablesReturnKeyAutomatically 默认为No,如果设置为Yes,文本框中没有输入任何字符的话,右下角的返回按钮是disabled的。 1.borderStyle 设置边框样式,只有设置了才会显示边框样式 text.borderStyle = UITextBorderStyleRoundedRect; typedef enum { UITextBorderStyleNone, UITextBorderStyleLine, UITe...
如何实现对UITextField ,UITextView等输入框的 字数限制
1. 如何实现对UITextField ,UITextView等输入框的 字数限制 (1)首先,肯定要 让controller 实现 UITextFieldDelegate (针对UITextField)或者 UITextViewDelegate(针对UITextView) 然后,将 输入框的delegate
iOS中UITextField、UITextView的字数限制
在开发中, 经常会遇到这样的需求: 希望输入框有最大字数限制. 比如, 用户昵称长度限制, 评论最大字数限制. (一)UITextField字数限制解决方法: 在viewDidLoad中注册通知. [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(textFiledEditCh
UITextField和UITextView被键盘挡住的处理办法
可以使整个view向上移动,这样文本框就不会被挡住了。为了使view上移的过程没那么生硬,这个过程可以用动画来执行。 在UITextView中: -(void)textViewDidBeginEditing:(UITextView *)textView { float offset = xx; //view向上移动的距离 NSTimeInterval ani
UITextView UITextField
---------------------------------------------------------------------------------UITextView--------------------------------------------------------------------------------------- 1:禁止 UITextView
IOS 之 UITextField与UITextView
文本视图(UITextView)与文本框(UITextField)相似,差别在于文本视图可显示一个可滚动和编辑的文本块,供用户阅读或修改。仅当需要的输入很多时,才应使用 UITextView。UITextView 是一个类,选中文本框后可以在 Attribute Inspector 中设置其各种属性。 Attribute Inspector 分为3部分,分别是TextField、Control和V

1452



被折叠的 条评论
为什么被折叠?



