【问题标题】:TTTAttributedLabel linebreakmode broken in iOS6TTTAttributedLabel 断行模式在 iOS6 中被破坏
【发布时间】:2013-03-19 00:58:15
【问题描述】:

如果我在 TTTAttributedLabel 示例应用程序“Espresso”中将 linebreakmode 设置为截断尾部,一切看起来都应该在 iOS 5 模拟器中,但如果我在 iOS 6 模拟器中运行应用程序,尽管文本会在第一行之后被截断超过3行。行数设置为零。我错过了什么?在我注意到 Espresso 应用程序中的这种行为后,我可以不再担心我自己的应用程序中代码的损坏。 有什么建议?谢谢!

【问题讨论】:

    标签: ios nsattributedstring truncation


    【解决方案1】:

    你可以试试。

    NSMutableAttributedString * mutableAttributedString = [[NSMutableAttributedString alloc]initWithString:text]; [self.attributedLabel setText:mutableAttributedString afterInheritingLabelAttributesAndConfiguringWithBlock:nil];

    【讨论】:

    • 对不起,我理解错了。你可以试试看。- (void)setText:(id)text afterInheritingLabelAttributesAndConfiguringWithBlock:(NSMutableAttributedString * (^)(NSMutableAttributedString *mutableAttributedString))block
    【解决方案2】:

    就我而言,由于某种原因,以下代码导致标签仅显示一行。删除它有帮助 ' self.attributedLabel.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;'

    【讨论】:

      【解决方案3】:

      奇怪的是,问题自己解决了。我不明白为什么这个特殊问题会发生在 iOS6 模拟器上,但现在它可以在 iOS6 设备和模拟器上与 NSLineBreakTailTruncation 一起使用。

      感谢您的回复!

      【讨论】:

        【解决方案4】:

        我目前面临同样的问题。在实际设置文本之前尝试设置 LineBreakMode。例如:

        TTTAttributedLabel* descriptionLabel = [[TTTAttributedLabel alloc] initWithFrame:CGRectMake(20, 120, 280, expectedSize.height)];
        descriptionLabel.lineBreakMode = UILineBreakModeWordWrap;
        descriptionLabel.numberOfLines = 0;
        descriptionLabel.text = description;
        

        【讨论】:

          【解决方案5】:

          iOS 6 中的标签和文本视图原生支持属性文本。因此,如果您不需要支持旧版本的 iOS,您可以摆脱 3rd 方控制。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2017-08-13
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-05-22
            • 2022-12-14
            相关资源
            最近更新 更多