6

iOS7 引入了一个美妙的“凸版”文本效果,通过 AttributedText 应用于 UILabel 文本。我需要在简单表格的单元格中产生这种效果。

不幸的是,与“textLabel.text”分配相比,它以标准方式呈现导致明显的滚动滞后。

似乎属性文本渲染非常耗费 CPU,但 iOS 嵌入式应用程序(如 Notes)滚动没有延迟。是否可以提高渲染性能?

下面是代码示例:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    MyCell *cell = (MyCell*)[tableView dequeueReusableCellWithIdentifier:identifier];
    if (cell == nil)
    {
        cell = [[MyCell alloc] init];
    }

    NSDictionary *attrs = @{NSTextEffectAttributeName : NSTextEffectLetterpressStyle};
    NSString *text = [self textWithCell:indexPath];

    //next line causes lags
    textLabel.attributedText = [[NSMutableAttributedString alloc] initWithString:text attributes:attrs];

    //this works fine
    //cell.textLabel.text = text;
  }
4

0 回答 0