搜尋

首頁  >  問答  >  主體

ios - NSMutableString appendFormat 遇到的问题 附上内容 请帮忙看看,问题很怪异!!!

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]]; 移除空格和换行也没有作用.

我估计是拼装内容的问题,但是这个问题没有办法解决么.

PHPzPHPz2897 天前726

全部回覆(2)我來回復

  • 高洛峰

    高洛峰2017-04-18 09:44:59

    不是強行轉行,在排版的時候系統將
    「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
    因為你加了空格,區分開每一個分號前是一個整體,所以在排版的時候就不會出現你的這個問題。

    回覆
    0
  • 大家讲道理

    大家讲道理2017-04-18 09:44:59

    對於UITextView 各種 處理文字的UI 控制項會改變文字的排版問題,使用NSMutableAttributedString 可以解決.
    NSString* str = [NSString stringWithFormat:@"附件(%ld):",str1];

        NSMutableParagraphStyle* linebreak = [[NSMutableParagraphStyle alloc]init];
        linebreak.lineBreakMode = NSLineBreakByCharWrapping;
        NSMutableAttributedString *str_attachMent = [[NSMutableAttributedString alloc] initWithString:str attributes:@{NSParagraphStyleAttributeName:linebreak}];
        textView.attributedText = str_attachMent; 
    

    回覆
    0
  • 取消回覆