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]