Tag: nsstring

“shouldChangeTextInRange”和“stringByReplacingCharactersInRange”方法是如何工作的?

我想知道下面的代码的工作。 – (BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { NSString *newString = [textField.text stringByReplacingCharactersInRange:range withString:string]; return !([newString length] > 10); } “stringByReplacingCharactersInRange”是做什么的? 上面的方法如何限制可以在textField中input的字符数? 提前致谢!

本地化的string比较

NSString的localizedCaseInsensitiveCompare:和localizedStandardCompare:方法有什么区别? 我读了参考书,但没有得到一个适当的想法,哪一个使用。

iOS drawInRect:属性使用多行执行文本截断

我怎样才能绘制一个长的文本string在矩形截尾? 我尝试使用drawInRect:withAttributes:使用NSLineBreakByTruncatingTail段落样式,但它始终在单行上呈现文本。 它仅使用NSLineBreakByWordWrapping和NSLineBreakByCharWrapping中断模式呈现多行文本,使用此选项时不会截断。 是否有任何财产,我需要设置段落风格,以实现这一目标? 或者,这是不再支持,在这种情况下,除了继续使用废弃的方法,我可以看到别无select。 不推荐使用的方法drawInRect:withFont:lineBreakMode:alignment:工作正常。

电话号码格式ios

在我的应用程序中,我将电话号码作为用户的input。 数字应该是美国格式。 我想dynamic地显示它像(555)-888-888。 例如,当用户开始input数字,当他达到4位数时,它显示这样的数字(555)-4等等。 我试图replaceString方法,但我发现它不会工作。

UITextField获取当前编辑的单词

我正在做一个自动完成组件,我有一个问题,我想用一些简单的方法来解决。 我想支持对自动完成的文本进行编辑,例如: blablabl @usertag blablabl 如果用户返回并编辑@usertagstring,我想在编辑时启动自动完成。 问题是,如何从文本字段获取当前编辑的单词。 我考虑把光标位置,单独的nsstring用“”(空格)换成单词,并把第一个单词的字母数到光标位置。 有没有更简单的方法来做到这一点?

将具有重音字符的NSString转换为CString

我有一个NSString的价值何塞(在e的重音)。 我尝试将其转换为Cstring,如下所示: char str [[myAccentStr length] + 1]; [myAccentStr getCString:str maxLength:[myAccentStr length] + 1 encoding:NSUTF32StringEncoding]; 但str最终是一个空string。 是什么赋予了? 我也试过UTF8和UTF16。 它会在稍后被传递给另一个函数,当funcsion调用它时,尺寸会变成零。

用给定的string查找具有固定宽度和高度的UITextView中的字符数?

在我的应用程序中,如果文本input很大,我需要在文本视图中设置更多的阅读内容。所以我的方法是find适合文本视图的string范围,然后添加“See More”。是否有任何方法可以实现在Swift中。要求是模仿阅读更多的选项来显示完整的文本在像facebook这样的细节视图。

NSString到NSURL?

试图将一个string转换为NSURL,这不会发生。 barcodeTextLabel.text = foundCode.barcodeString; urlToGrab = [NSString stringWithFormat:@"%@", foundCode.barcodeString]; // foundCode.barcodeString is an NSString urlToGrab显示以下“错误无效的CFStringRef”

Swift 3错误:无法识别的select器发送到实例

我只是将我们的项目迁移到swift 3,并且因为一个问题而看到很多崩溃: 由于未捕获的exception“NSInvalidArgumentException”而终止应用程序,原因:' – [_ SwiftValue pointSize]:无法识别的select器已发送到实例 这个错误的原因是呼吁: [NSAttributedString(NSExtendedStringDrawing) boundingRectWithSize:options:context:] 我注意到的是,如果我把String转换成NSString并调用boundingRectWithSize就会抛出这个错误。 这似乎也发生在许多其他部分,例如,如果我在故事板中发送视图控制器标题,它会引发同样的错误。 任何人都有同样的问题? 重现问题: 在Xcode 8中创build一个新的Swift 3项目,并在viewDidLoad中添加以下行: let attributes: [String: AnyObject?] = [ NSFontAttributeName: UIFont.systemFont(ofSize: 14) ] let boundingRect = ("hello" as NSString).boundingRect(with: CGSize(width: 100, height: 100), options: .usesLineFragmentOrigin, attributes: attributes, context: nil) 但正如我所说,它在许多其他地方崩溃,因为看起来UIKit在很多地方内部使用这种方法

NSPredicate在NSStringtypes的两个date之间过滤

我有一些数据( NSDictionary在NSMutableArray ),样本数据就像, 考虑每一行为NSDictionary ,整个表是一个NSMutableArray包含事件。 我想在两个date之间产生结果,所以我使用NSPredicate来过滤我的数据。 这是我的代码片段, NSPredicate *predicate = [NSPredicate predicateWithFormat:@"Date >= %@ AND Date <= %@", startDate,endDate]; NSArray *filter = [arrayEvents filteredArrayUsingPredicate:predicate]; testing过滤 : 情况1: NSString *startDate = @"01/07/14"; NSString *endDate = @"31/07/2014"; 输出:所有事件(行)。 案例2: NSString *startDate = @"20/07/14"; NSString *endDate = @"31/07/2014"; 输出:最后四个事件(行)。 案例3: NSString *startDate = @"11/07/14"; NSString *endDate = @"20/07/2014"; […]