NSMutableString* str_attachMent = [NSMutableString stringWithFormat:@"附件(%ld):",attachedCount];
for ( int i = 0 ; i < attachedCount ; i++) {
FileInfo *fileInfo = (FileInfo*)mailInfo.attachedArr[i];
if (i < mailInfo.attachedCount - 1)
{
[str_attachMent appendFormat:@"%@;",fileInfo.fileName];
}else {
[str_attachMent appendString:fileInfo.fileName];
}
}
最后str_attachMent得到拼装好的字符串是如下内容:
附件(9): 404.HTML;BLOG.HTML;BLOG_SINGLE.HTML;CONTACT.HTML;INDEX.HTML;LOGIN.HTML;MEN.HTML;REGISTER.HTML;SINGLE.HTML
可以把内容复制到记事本上面试验下,为什么强行被换行了,而且我是没办法把404这行移到附件(9):后面
[str_attachMent stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; 移除空格和换行也没有作用.
我估计是拼装内容的问题,但是这个问题没有办法解决么.
不是強行轉行,在排版的時候系統將
「404.HTML;BLOG.HTML;BLOG_SINGLE.HTML;CONTACT.HTML;INDEX.HTML;LOGIN.HTML;MEN.HTML;REGISTER.HTML;SINGLE.HTML」看作是一個單字了,在顯示的時候「附件(9): 」所在的目前行無法將其完整顯示,所以自動跳到下一行顯示,除非你顯示的文字方塊夠寬。就好比你在發問題的時候直接像這樣打印這句話,它也會換行顯示,
附件(9): 404.HTML;BLOG.HTML;BLOG_SINGLE.HTML;CONTACT.HTML;INDEX.HTML;LOGIN. HTML;MEN.HTML;REGISTER.HTML;SINGLE.HTML
但是你在每個分號後面加上一個空格,效果就是這樣的:
附件(9):404.HTML; BLOG.HTML; BLOG_SINGLE.HTML; CONTACT.HTML; INDEX.HTML; LOGIN.HTML; MEN.HTML; REGISTER.HTML; SINGLE.HTML
因為你加了空格,區分開每一個分號前是一個整體,所以在排版的時候就不會出現你的這個問題。
對於UITextView 各種 處理文字的UI 控制項會改變文字的排版問題,使用NSMutableAttributedString 可以解決.
NSString* str = [NSString stringWithFormat:@"附件(%ld):",str1];