iOS开发--UITextField限制输入文字的个数

项目需要输入框的文字最多为4个,为了实现这个功能,在网上把资料翻遍了,没有一个能用的。后来不得不自己实现,折腾了好久,终于搞定了。小技巧分享给大家。

代码如下:

static constNSInteger Max_Character_Num =4;

- (IBAction)onTextFieldEditingChanged:(id)sender
{
    NSString *lang = [[UITextInputMode currentInputMode] primaryLanguage];
    if ([lang isEqualToString:@"zh-Hans"]) {
        UITextRange *selectedRange = [self.tagNameTextField markedTextRange];
        UITextPosition *position = [self.tagNameTextField positionFromPosition:selectedRange.start offset:0];
        if (!position) {
            if (self.tagNameTextField.text.length > Max_Character_Num) {
                self.tagNameTextField.text = [self.tagNameTextField.text substringFrom:0 to:Max_Character_Num];
            }
        }
    }else{
        if (self.tagNameTextField.text.length > Max_Character_Num) {
            self.tagNameTextField.text = [self.tagNameTextField.text substringFrom:0 to:Max_Character_Num];
        }
    }
}
时间: 2024-10-17 10:50:39

iOS开发--UITextField限制输入文字的个数的相关文章

IOS开发-UITextField代理常用的方法总结

1.//当用户全部清空的时候的时候 会调用 -(BOOL)textFieldShouldClear:(UITextField *)textField: 2.//可以得到用户输入的字符 -(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string: 3.//已经开始编辑的时候 会触发这个方法— - (void)te

iPad开发--UItextfield中输入类似于数学计算上的数字的方法

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {            NSCharacterSet*cs;                cs = [[NSCharacterSet characterSetWithCharactersInString:NUMBERS] invertedSet]

IOS - 获取UITextField的输入文本

当UITextField文本改变时, 依据内容更新数据, 通过写监听事件就可以. 加入监听: [timesField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged]; // 监听事件 监听事件: // 监听改变button - (void) textFieldDidChange:(UITextField*) sender { // 文本内容 NS

UITextField限制输入的字符个数。比如输入手机号时,只能是11位

- (void)setupTextField { UITextField *tf = [[UITextField alloc] init]; tf.keyboardType = UIKeyboardTypeNumberPad; tf.frame = CGRectMake(80, 80, 200, 40); tf.backgroundColor = [UIColor redColor]; [self.view addSubview:tf]; [[NSNotificationCenter defau

iOS开发-- 设置UIButton的文字显示位置、字体的大小、字体的颜色

btn.frame = CGRectMake(x, y, width, height); [btn setTitle: @"search" forState: UIControlStateNormal]; //设置按钮上的自体的大小 //[btn setFont: [UIFont systemFontSize: 14.0]];    //这种可以用来设置字体的大小,但是可能会在将来的SDK版本中去除改方法 //应该使用 btn.titleLabel.font = [UIFont sys

iOS开发-UITextField手机号和邮箱验证

不管是网页是手机,用户注册登录的时候绝大数时候都需要手机号码和邮箱地址,而且有些App会限制只能使用手机号注册,iOS方面邮箱正则比较简单,不过手机号码验证找了一下网上的,发现三大运营商的号码段有所变化,通过最新的号码段判断用户手机验证的时候出错概率会小,如果有遗漏的号码段,欢迎补充. /*手机验证 */ + (BOOL)isMobileNumber:(NSString *)mobileNum { /** * 手机号码 * 移动:134/135/136/137/138/139/150/151/1

< IOS开发 >使用CGContextRef绘制文字时的设置

NSString *str = @"hello"; //字体 UIFont *font = [UIFont systemFontOfSize:16.0]; //文本风格,设置居中 NSMutableParagraphStyle *paragraphStyle = [[NSParagraphStyle defaultParagraphStyle] mutableCopy]; [paragraphStyle setAlignment:NSTextAlignmentCenter]; //文本

ios开发 之 设置多种文字颜色

 UILabel * label = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 300, 100)];     label.numberOfLines = 0;     label.center = self.view.center;          NSMutableAttributedString * str = [[NSMutableAttributedString alloc]initWithString:@"你说你最爱丁香花,因为你

ios开发怎么获取输入的日期得到星期

+ (NSString*)weekdayStringFromDate:(NSDate*)inputDate { NSArray *weekdays = [NSArray arrayWithObjects: [NSNull null], @"Sunday", @"周一", @"周二", @"周三", @"周四", @"周五", @"周六", nil]; NSCalend