限制 uitextview 中的字符数 - 我在同一页面有 5 个文本视图

Posted

技术标签:

【中文标题】限制 uitextview 中的字符数 - 我在同一页面有 5 个文本视图【英文标题】:Limit number of characters in uitextview - I have 5 text view same page 【发布时间】:2014-12-19 14:46:56 【问题描述】:

我在同一页面中有五个文本视图。但只有一个文本视图可编辑。我想限制这个 textview 字符。 我使用- (void)textViewDidChange:(UITextView *)textView,但它没有用。 我的 UITextView 参考名称是 UserNote。 我试试- (void)textViewDidChange:(UITextView *)UserNote 不幸的是没有再次工作。 请帮我。谢谢。 我更改了我的参考名称,现在是 textView。

我的代码;

@property (retain, nonatomic) IBOutlet UITextView *textView;

- (void)textViewDidChange:(UITextView *)textView
    NSUInteger length;
    length = [textView.text length];

    NSString * last = [NSString stringWithFormat:@"%lu", 160 - length];

    [_characterLabel setText:[NSString stringWithFormat:@"%@",last]];

    NSLog(@"%@" , last);


- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text 
    // Prevent crashing undo bug – see note below.
    if(range.length + range.location > textView.text.length)
    
        return NO;
    

    NSUInteger newLength = [textView.text length] + [text length] - range.length;
    return (newLength > 160) ? NO : YES;

【问题讨论】:

您是否将委托设置为您的文本视图? Limit number of characters in uitextview的可能重复 您可以为每个 textView 设置一个标签,在委托方法中您可以编写: if(textView.tag == 0) //0 是一个示例,您应该放置可编辑文本视图的标签数量。 .. 显示您使用的代码并告诉我们“无效”的含义。 (也就是说,发生的事情与您想要的不同。) 我尝试使用标签。没用。谢谢。 【参考方案1】:

我解决了。只是我忘了设置 UITextView 代表。谢谢。

【讨论】:

【参考方案2】:

这个表情不错

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text


NSString *string = [[textView text] stringByReplacingCharactersInRange:range withString:text];

if ([string length] > 60)

    return NO;

return YES;

【讨论】:

以上是关于限制 uitextview 中的字符数 - 我在同一页面有 5 个文本视图的主要内容,如果未能解决你的问题,请参考以下文章

限制用户可以输入多个 UITextViews 的字符数

由于行数和字符数,UITextView 限制文本

如何限制 MonoTouch 中的 UITextView 字符限制? [复制]

UITextView 限制输入字数

Swift 4 或 Swift 5 中的 UITextView 用户输入文本验证:限制 Swift 中的特定字符

UITextView 限制字符并显示剩余计数