OStack程序员社区-中国程序员成长平台

标题: ios - 在 UITableViewCell 内的 UITextView 中设置多个链接 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 22:02
标题: ios - 在 UITableViewCell 内的 UITextView 中设置多个链接

我有一个表格 View ,可以在同一个单元格中显示多个地址以及其他一些信息。经过大量的修补和谷歌搜索,我得出的结论是 UITextView 是检测链接的最佳/最简单的方法。

但是,我目前使用 UITextView 的方法没有检测到链接,我不知道为什么。

这里是:

    public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath)
    {
        UITableViewCell cell = tableView.DequeueReusableCell(Identifier);
        if (cell == null)
            cell = new UITableViewCell(UITableViewCellStyle.Value1, Identifier);

        cell.TextLabel.Lines = 0; // allow wrapping
        cell.TextLabel.Text = items[indexPath.Row];
        UITextView tv = new UITextView(new CoreGraphics.CGRect(cell.Bounds.X, cell.Bounds.Y, cell.ContentView.Frame.Size.Width, cell.ContentView.Frame.Size.Height));
        tv.Text = cell.TextLabel.Text;
        cell.TextLabel.Text = "";
        tv.DataDetectorTypes = UIDataDetectorType.Address;
        tv.Selectable = true;
        tv.UserInteractionEnabled = true;
        tv.ScrollEnabled = false;

        cell.ContentView.AddSubview(tv);
        return cell;
    }

这既不会检测嵌入的地址,也不允许点击它。

在这方面工作太久了,在 Android 上花了大约 3 分钟!为什么这么难??



Best Answer-推荐答案


替换下一行

  tv.DataDetectorTypes = UIDataDetectorType.Address;

 tv.DataDetectorTypes = UIDataDetectorType.Link;

为了检测 UITextView 中的链接,您的 UITextView 应该是可选的。所以请确保您的 TextView 是可选择的且不可编辑的,

  tv.editable = false;

关于ios - 在 UITableViewCell 内的 UITextView 中设置多个链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39376662/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4