UITextField相关
来源:互联网 发布:淘宝如何举报售假 编辑:程序博客网 时间:2024/05/20 14:19
1、删除前一输入的字符
@implementation UITextFieldBack- (void)myDeleteBackward { if ([self conformsToProtocol:@protocol(UITextInput)]){ // iOS5 and later [self deleteBackward]; // Or do below line if you are not deploy-targeting 5.0 or above and want to avoid warnings //[textField performSelector:@selector(deleteBackward)]; } else { @try { //check current selected range NSRange selectedRange = [[self valueForKey:@"selectionRange"] rangeValue]; if (selectedRange.location == NSNotFound){ selectedRange = NSMakeRange([[self text] length], 0); } if (selectedRange.location < 1){ return; } //delete one char NSRange deleteRange = (selectedRange.length > 0) ? selectedRange : NSMakeRange(selectedRange.location - 1, 1); self.text = [self.text stringByReplacingCharactersInRange:deleteRange withString:@""]; //adjust the selected range to reflect the changes selectedRange.location = deleteRange.location; selectedRange.length = 0; [self setValue:[NSValue valueWithRange:selectedRange] forKey:@"selectionRange"]; } @catch (NSException *exception) { NSLog(@"deleteBackword failed but catched. %@", exception); } @finally {} }}@end
2、TextField只要有输入,马上清掉旧值
@interface UITextFieldEx : UITextField{BOOL deleteFirst;}@property(nonatomic)BOOL deleteFirst;@end@implementation UITextFieldEx@synthesize deleteFirst;-(id)initWithFrame:(CGRect)frame{self = [super initWithFrame:frame];if (self) { deleteFirst = YES;}return self;}@end在textFieldDelegate中实现:-(void)textFieldDidBeginEditing:(UITextField *)textField{UITextFieldEx *field = (UITextFieldEx *)textField;field.deleteFirst = YES;}-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{UITextFieldEx *field = (UITextFieldEx *)textField;if (field.deleteFirst) {field.text = @"";field.deleteFirst = NO;}return YES;}
3、LeftView
UILabel *currencyLabel = [[UILabel alloc] initWithFrame:CGRectZero];//CGRectZero相当于CGRectMake(0,0,0,0) currencyLabel.text = [[[NSNumberFormatter alloc] init] currencySymbol];//初始化Label内容返回接受者的本地货币符号 currencyLabel.font = self.myTextField.font; [currencyLabel sizeToFit];//调整和移动接收者的视图,它只是包含它自己的视图。 self.myTextField.leftView = currencyLabel; self.myTextField.leftViewMode = UITextFieldViewModeAlways;//设置左视图一直显示
4、输入事件
//当UITextField输入文字后触发的事件 -(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ BOOL result = YES; if ([textField isEqual:self.myTextField]) { NSString *wholeText = [textField.text stringByReplacingCharactersInRange:range withString:string];//追加后输入的字符串 [self calculateAndDisplayTextFieldLengthWithText:wholeText];//重新计算字符长度 } return result; }
5、键盘遮挡问题(视图上移)
http://blog.csdn.net/developer_zhang/article/details/8854177
0 0
- UITextField相关
- UITextField相关
- UITextField的相关问题
- UITextField相关使用方法
- iOS_ UITextField相关代码
- iOS开发-UITextField相关
- UITextField 与键盘相关
- UITextField相关问题
- 代理相关,对话框相关,UITextField
- IOS键盘的相关设置(UITextfield)
- IOS键盘的相关设置(UITextfield)
- IOS键盘的相关设置(UITextfield)
- IOS键盘的相关设置(UITextfield)
- IOS键盘的相关设置(UITextfield)
- IOS键盘的相关设置(UITextfield)
- IOS键盘的相关设置(UITextfield)
- IOS键盘的相关设置(UITextfield)
- IOS键盘的相关设置(UITextfield)
- 数组的length如何理解
- 入门 JavaBean
- Linux Distro TimeLine
- 文件I/O:文件流→序列化
- 简单实现限定phpmyadmin访问ip的方法
- UITextField相关
- 运用Hashtables--Java
- Android greenDAO 数据库 简单学习之基本使用
- MyEclipse 8.5 修改默认工作空间和设置提示选择工作空间的对话框
- LInux Then And Now
- Java4Android (第25~27集) 包及访问权限
- 蕾辈使匚冉吃勘刚莱涨坟怪
- 音量图标不显示了怎么恢复
- UVA 10714 Bit Mask