我正在尝试将 TTTAttributedLabel 集成到 UITableViewCell 中。这真的只是一个简单的集成,我想要的只是用 TTTAttributedLabel 替换旧的 UILabel。这就是我所做的。

  • 转到 Storyboard 并选择自定义 UITableViewCell 中的 UILabel 并将其类更改为 TTTAttributedLabel
  • 回到UITableViewController子类,包含TTTAttributedLabel.h,修改(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath像这样:
    static NSString *CellIdentifier = @"Post";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if(cell == nil)
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
                                      reuseIdentifier:CellIdentifier];
    
    TTTAttributedLabel *label = (TTTAttributedLabel *)[cell viewWithTag:801];
    label.text = [self.post valueForKey:@"content"];
    label.enabledTextCheckingTypes = NSTextCheckingTypeLink;
    label.userInteractionEnabled = YES;
    label.delegate = self;
    return cell;
    

  • 但是链接检测不起作用。这只是纯文本。如何调试我做错了什么?

    最佳答案

    我认为你需要在 enabledTextCheckingTypes = NSTextCheckingTypeLink 之后设置你的文本

    label.enabledTextCheckingTypes = NSTextCheckingTypeLink;
    label.userInteractionEnabled = YES;
    label.delegate = self;
    label.text = [self.post valueForKey:@"content"];
    

    关于ios - TTTAttributedLabel 链接检测无法使用 Storyboard,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24533813/

    10-10 20:46