gpt4 book ai didi

ios - 如何限制 UITextView iOS 中的字符

转载 作者:可可西里 更新时间:2023-11-01 06:21:32 26 4
gpt4 key购买 nike

我有一个 UITextView,我想限制用户可以输入的字符数。如果文本字段为空但没有成功,我也尝试显示警告。

textview.h

@property (nonatomic,strong) IBOutlet UITextView *textField;
@property (nonatomic, retain) NSString *userText;

textview.m

- (IBAction)next:(id)sender {

self.userText = self.textField.text;

if ([self.textField.text length] == 0) {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error!"
message:@"Enter some text"
delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alertView show];
}
}

这里的文字限制方法好像不行,

- (BOOL)textView:(UITextView *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{

if(range.length + range.location > textField.text.length)
{
return NO;

} else {

NSUInteger newLength = [textField.text length] + [string length] - range.length;
return newLength <= 70;
return (textField.text.length <= 70);
}
}

最佳答案

1) 像这样在您的 View Controller 中添加 UITextViewDelegate

@interface ViewController : UIViewController <UITextViewDelegate>

每次用户在键盘上键入一个字符时,就在该字符显示之前,将调用以下方法。这是一个方便的位置,可以测试用户正在键入的字符并禁止您要限制的特定字符。

textView:shouldChangeCharactersInRange:replacementString

2) 然后编写如下代码。你可以输入任何你想要的数字而不是 140。

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
return textView.text.length + (text.length - range.length) <= 140;
}

如需更多帮助,请查看 UItextView

Swift 2.0 解决方案

 func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {
return textView.text.characters.count + (text.characters.count - range.length) <= textViewLimit
}

关于ios - 如何限制 UITextView iOS 中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31695611/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com