gpt4 book ai didi

ios - TextView 或文本字段 iOS 的双空格点击

转载 作者:行者123 更新时间:2023-11-29 02:35:49 25 4
gpt4 key购买 nike

我正在使用 iOS 应用程序。在那个应用程序中,我有文本字段和 TextView 。我的要求是,如果用户点击空格键两次,即使是文本的开头或文本的结尾,也可以关闭键盘。我尝试使用以下代码

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

NSLog(@"textView.text %@",textView.text);
NSUInteger newLength = (textView.text.length - range.length) + text.length;
//for white space starting
NSCharacterSet *cs = [[NSCharacterSet characterSetWithCharactersInString:@" "] invertedSet];
NSString *filtered = [[text componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];

if([text isEqualToString:@"\n"]) {
[sendMsgTextView resignFirstResponder];
// [self animateTextView:textView up:NO];
return NO;
}
if ([textView.text isEqualToString:filtered]) {
[sendMsgTextView resignFirstResponder];
return NO;
}
return YES;
}

但问题是它只限制了文本的开始。如果我多次输入文本和点击空格,键盘不会关闭或不会限制。任何人都可以了解这个问题。如果是,请提出您的宝贵建议。

最佳答案

请使用下面的解决方案..

在.h文件中

@property (nonatomic,retain)NSString *spaceStr;

在 .m 文件中

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

if([text isEqualToString:@"\n"]) {
[self.txtView1 resignFirstResponder];
// [self animateTextView:textView up:NO];
return NO;
}
if ([[self.spaceStr stringByAppendingString:text] isEqualToString:@" "]) {
self.spaceStr=@"";
[self.txtView1 resignFirstResponder];
return NO;
}
self.spaceStr=text;

return YES;

关于ios - TextView 或文本字段 iOS 的双空格点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26386924/

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