Alb*_*haw 3 objective-c line-breaks word-wrap charactercount ios
如果我有一个字符串,我将加载到TextField我怎么能断行\n每10个字符(包括空格和诸如此类)出现但是没有转到下一行中间的单词...喜欢换行最多10个字符?但我不只是在UITextField中包装我实际上需要输入\n因为它将被用于其他东西......(这适用于iOS,如果这很重要)任何帮助都表示赞赏我真的被卡住了!
你可能想在一个循环中使用NSScanner来组合这种东西,但是要找出你需要准确说明你希望它如何工作的精确算法.以下是您需要回答的问题:
考虑到这些关于你的问题的假设,我会像这样编码:
NSMutableString *resultString = [[NSMutableString alloc] init];
NSMutableString *currentLine = [[NSMutableString alloc] init];
NSScanner *scanner = [NSScanner scannerWithString:sourceString];
NSString *scannedString = nil;
while ([scanner scanUpToCharactersFromSet:[NSCharacterSet whitespaceCharacterSet] intoString: &scannedString]) {
if ([currentLine length] + [scannedString length] <= 10) {
[currentLine appendFormat:@"%@ ", scannedString];
}
else if ([currentLine length] == 0) { // Newline but next word > 10
[resultString appendFormat:@"%@\n", scannedString];
}
else { // Need to break line and start new one
[resultString appendFormat:@"%@\n", currentLine];
[currentLine setString:[NSString stringWithFormat:@"%@ ", scannedString]];
}
[scanner scanCharactersFromSet:[NSCharacterSet whitespaceCharacterSet] intoString:NULL];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2742 次 |
| 最近记录: |