菜鸟教程小白 发表于 2022-12-12 18:34:51

ios - NSMutableParagraphStyle 在表格单元格中为 uilabel(对齐异常)自动高度


                                            <p>tableview 重新加载后崩溃<br><br>这个问题只发生在 iOS6 上,iOS7 没问题。<br><br>异常说明:<br><br>NSTextAlignmentJustified 和 NSTextAlignmentNatural 在绘制 NSString 时是无效的对齐值<br>(空值)<br>(<br>0 核心基金会 0x00aa702e <strong>异常预处理 + 206<br>   1 libobjc.A.dylib 0x03152e7e objc_exception_throw + 44<br>   2 CoreFoundation 0x00aa6deb + + 139<br>   3 UIKit 0x022ea8ec - + 88<br>   4 UIKit 0x022ea88f - + 99<br>   5 UIKit 0x022ea827 - + 91<br>   6 UIKit 0x0241ce73 - + 3433<br>   7 UIKit 0x0241cf76 - + 160<br>   8 UIKit 0x0241bcd9 - + 548<br>   9 UIKit 0x0241e098 - + 98<br>   10 UIKit 0x0230fe6e - + 504<br>   11 QuartzCore 0x0340ba3f - + 128<br>    12 QuartzCore 0x0340b96b _ZL16backing_callbackP9CGContextPv + 96<br>   13 QuartzCore 0x0331d723 CABackingStoreUpdate_ + 2703<br>   14 QuartzCore 0x0340b83c _ZN2CA5Layer8display_Ev + 1406<br>   15 QuartzCore 0x0340b9ba - + 33<br>   16 QuartzCore 0x0340b2b6 _ZN2CA5Layer7displayEv + 152<br>   17 QuartzCore 0x0340b994 - + 33<br>   18 QuartzCore 0x034000e2 _ZN2CA5Layer17display_if_neededEPNS_11TransactionE + 328<br>    19 QuartzCore 0x0340015c _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 38<br>    20 QuartzCore 0x0337e0bc _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 324<br>    21 QuartzCore 0x0337f227 _ZN2CA11Transaction6commitEv + 395<br>    22 QuartzCore 0x0337f8e2 _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv + 96<br>    23 CoreFoundation 0x00a6fafe __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION </strong> + 30<br>    24 核心基金会 0x00a6fa3d __CFRunLoopDoObservers + 381<br>    25 核心基金会 0x00a4d7c2 __CFRunLoopRun + 1106<br>    26 核心基金会 0x00a4cf44 CFRunLoopRunSpecific + 276<br>    27 核心基金会 0x00a4ce1b CFRunLoopRunInMode + 123<br>    28 图形服务 0x044bc7e3 GSEventRunModal + 88<br>    29 图形服务 0x044bc668 GSEventRun + 104<br>    30 UIKit 0x022bffc UIApplicationMain + 1211<br>    31 直销商 0x0000548d 主 + 141<br>    32 libdyld.dylib 0x03a2470d 开始 + 1<br>)<br><br>我从不将对齐设置为“NSTextAlignmentJustified”或“NSTextAlignmentNatural”。我无法理解。<br><br>自动高度代码:<br><br>DSBasicInfoPrototypeCell *cell = ;<br>      NSString *titleText = data[@"title"];<br><pre><code>    NSMutableAttributedString *titleAttributedText = [ initWithString:titleText];
    NSMutableParagraphStyle *titleParagraphStyle = [ init];
    ;
    titleParagraphStyle.alignment = NSTextAlignmentLeft;
    ;
    cell.titleLabel.attributedText = titleAttributedText;

    cell.titleLabel.preferredMaxLayoutWidth = 280;
    ];
    ];
    ];

    ;
    ;
    ;
    ;

    return .height;
</code></pre><br>最后,为我的英语不好道歉。</p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p>我已经通过为段落指定文本对齐方式(而不是将其保留为默认值)设法在 iOS6 上解决了这个问题:<br><pre><code>paragraphStyle.alignment = NSTextAlignmentLeft;
</code></pre><br>希望它也适用于你。</p>
                                   
                                                <p style="font-size: 20px;">关于ios - NSMutableParagraphStyle 在表格单元格中为 uilabel(对齐异常)自动高度,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/21644334/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/21644334/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - NSMutableParagraphStyle 在表格单元格中为 uilabel(对齐异常)自动高度