YYText icon indicating copy to clipboard operation
YYText copied to clipboard

YYText作者您好,YYTextLayout固定最大宽度时,计算出来的尺寸有误,求助呀

Open wcb133 opened this issue 9 years ago • 13 comments

比如这段代码
YYTextLayout *layout = [YYTextLayout layoutWithContainerSize:CGSizeMake(200, MAXFLOAT) text:str]; _contentLabel.textVerticalAlignment = YYTextVerticalAlignmentCenter; CGSize size = layout.textBoundingSize; _contentLabel.textLayout = layout; 设定最大宽度为200,但是当文本有多行的时候,计算出来的size 的width是有可能小于200的,也就是说没达到最大宽度就换行了,伟大的YYText作者,求助呀

wcb133 avatar May 23 '16 12:05 wcb133

6d92d2d8-60f5-4e32-ad7f-88d468b0d06e

wcb133 avatar May 23 '16 12:05 wcb133

能确认你使用的 YYText 版本吗?尽量更新到最新版本来尝试。

另外,贴一下 YYLabel 的创建和属性调整过程应该能有帮助。

ibireme avatar May 23 '16 16:05 ibireme

是用最新的YYText版本,刚从gitHub上下载的,以下是YYLabel的创建过程 YYLabel *contentLabel = [YYLabel new]; contentLabel.userInteractionEnabled = YES; contentLabel.numberOfLines = 0; contentLabel.font = [UIFont systemFontOfSize:17.0f]; [self.view addSubview:contentLabel];

wcb133 avatar May 25 '16 11:05 wcb133

如果只用 textLayout 来设置属性,那可以 label.ignoreCommonProperties = YES.

ibireme avatar May 25 '16 15:05 ibireme

cc32ad10-e9bc-448c-b833-b41bc78e97ad 文字宽度计算不准确的问题,我发现苹果自带的也会出现;加了这label.ignoreCommonProperties = YES这句发现文字都不显示了,而且额外发现有上面的排版的问题,关于这个问题有啥好的解决办法没?

wcb133 avatar May 26 '16 08:05 wcb133

第一行的右边还有很大的一块空间,第二行的应该能多放一个emoji表情

wcb133 avatar May 26 '16 11:05 wcb133

换行这个,是由 CoreText 控制的,有时确实会有空白地方填充不满的时刻,可能与某些表情有关。具体可以开启调试模式看一下排版结果:https://github.com/ibireme/YYText#debug-1

ibireme avatar May 26 '16 16:05 ibireme

@ibireme 也有同样的问题,遇到emoji表情换行不准确,比如行末还可以插入一个或两个emoji的,但是换行了 @wcb133 你解决了吗?

zliuqing avatar Jun 08 '16 07:06 zliuqing

@zliuqing 没解决,不懂怎么解决

wcb133 avatar Jun 16 '16 03:06 wcb133

层主解决了么

mghnmtt avatar Nov 18 '16 09:11 mghnmtt

https://github.com/LMMIsGood/LiuqsEmoticonkeyboard 各位可以参考这个demo

hao1993 avatar Dec 26 '17 01:12 hao1993

計算高度的時候 attributedString的align先不要設置center就能正確算出。

g761007 avatar Apr 23 '18 05:04 g761007

計算高度的時候 attributedString的align先不要設置center就能正確算出。 这个大佬说的我感觉可以

Y-X-Z avatar Aug 27 '21 06:08 Y-X-Z