ios - NSMutableString appendFormat 遇到的问题 附上内容 请帮忙看看,问题很怪异!!!
PHPz
PHPz 2017-04-18 09:42:59
0
2
719

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

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

PHPz
PHPz

学习是最好的投资!

répondre à tous(2)
小葫芦

Il ne s'agit pas d'un changement de carrière forcé. Lors de la composition, le système
"404.HTML;BLOG.HTML;BLOG_SINGLE.HTML;CONTACT.HTML;INDEX.HTML;LOGIN.HTML;MEN.HTML;REGISTER .HTML;SINGLE .HTML" est considéré comme un mot. Lorsqu'il est affiché, la ligne actuelle où se trouve "Pièce jointe (9) : " ne peut pas l'afficher complètement, elle passe donc automatiquement à la ligne suivante pour l'affichage, à moins que le texte la boîte que vous affichez est suffisamment large. Tout comme si vous imprimez directement cette phrase ainsi lors de la publication d'une question, elle sera également affichée dans une nouvelle ligne,
Pièce jointe (9) : 404.HTML;BLOG.HTML;BLOG_SINGLE.HTML;CONTACT.HTML;INDEX .HTML; LOGIN.HTML;MEN.HTML;REGISTER.HTML;SINGLE.HTML
Mais si vous ajoutez un espace après chaque point-virgule, l'effet est le suivant :
Pièce jointe (9) : 404.HTML; . HTML; BLOG_SINGLE.HTML; CONTACT.HTML; INDEX.HTML; MEN.HTML; SINGLE.HTML
Parce que vous avez ajouté un espace pour séparer chaque point-virgule dans son ensemble, votre problème sera donc ne se produit pas lors de la composition.

大家讲道理

Pour UITextView, divers contrôles d'interface utilisateur qui traitent le texte modifieront la disposition du texte, ce qui peut être résolu en utilisant NSMutableAttributedString.
NSString* str = [NSString stringWithFormat:@"Attachment (%ld):",str1 ];

    NSMutableParagraphStyle* linebreak = [[NSMutableParagraphStyle alloc]init];
    linebreak.lineBreakMode = NSLineBreakByCharWrapping;
    NSMutableAttributedString *str_attachMent = [[NSMutableAttributedString alloc] initWithString:str attributes:@{NSParagraphStyleAttributeName:linebreak}];
    textView.attributedText = str_attachMent; 
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal