gpt4 book ai didi

objective-c - iOS 将文本输入限制为一组语言

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:06:34 26 4
gpt4 key购买 nike

我有一个 iOS 应用程序,用户可以在其中订购照片打印件。用户可以在订购照片之前将他选择的文本添加到照片上。现在,我的问题是我们的打印机不支持汉字。我是否有办法限制用户仅使用我的打印机支持的一组语言?我假设应用程序不能强制用户可以为其键盘选择的语言。所以,我想禁止 UITextView 的“shouldChangeCharacters”方法上的无效文本。我知道我可以想出一组我的打印机和用户 NSCharacterSet 支持/不支持的所有字符来限制,但是有没有更好的方法来实现这一点?

最佳答案

使用 NSCharacterSet 是正确的方法。像这样:

- (NSCharacterSet *)bannedCharacters {
static NSCharacterSet *bannedCharacters;
static dispatch_once_t once;
dispatch_once(&once, ^{
NSMutableCharacterSet *set = [[NSMutableCharacterSet alloc] init];

// Use lines like these to add the characters allowed by your printer.
[set addCharactersInRange:NSMakeRange(65, 26)];
[set addCharactersInString:@"0123456789"];

bannedCharacters = [set invertedSet];
});
}

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)replacement {
NSRange badRange = [replacement rangeOfCharacterFromSet:[self bannedCharacters]];
return badRange.location == NSNotFound;
}

关于objective-c - iOS 将文本输入限制为一组语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12355753/

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