【问题标题】:UILabel Autoshrink does not work with Dynamic Text and special characterUILabel Autoshrink 不适用于动态文本和特殊字符
【发布时间】:2013-10-15 13:31:39
【问题描述】:

我正在使用 iOS 7 的新动态文本功能作为表格视图行的副标题。我在IB中设置了UILabel如下:

这就是我在代码中设置 UILabel 内容的方式:

NSAttributedString *checkmarkAttributedString = [[NSAttributedString 
      alloc]initWithString:@"☑"];
[detailAttributedString appendAttributedString:checkmarkAttributedString];

这是未正确自动收缩的结果(应缩小字体大小并避免使用“...”):

如何让 autoshrink 工作?

如果我不在字符串开头添加特殊字符(复选标记),它似乎可以正常工作。

【问题讨论】:

    标签: objective-c ios7 uilabel nsattributedstring dynamic-text


    【解决方案1】:

    iOS 6 中有一个错误,它适用于 iOS 7, 在 iOS 6 中,如果文本是多行的,那么它不会缩小。

    【讨论】:

      【解决方案2】:

      不确定,但最小字体比例中似乎有逗号。不应该是0.4吗?

      否则在你的 cellForRowAtIndexPath 方法中试试这个。

      MyCustomTableViewCell *cell = [tableview dequeueReusableCellWithIdentifier:identifier];
      cell.detailLabel.adjustsFontSizeToFitWidth = YES;
      

      【讨论】:

      • 逗号是正确的(在我的地区)。但是,我发现我正在手动将字体设置为代码中的旧字体样式。你知道如何将字体设置为一种新的动态文本字体样式吗?
      • 使用系统字体。那些应该支持动态文本。就像 [UIFont systemFontOfSize:15];
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-05
      • 2014-08-09
      • 2016-03-03
      • 1970-01-01
      • 1970-01-01
      • 2016-09-13
      相关资源
      最近更新 更多