菜鸟教程小白 发表于 2022-12-12 22:02:08

ios - 在 UITableViewCell 内的 UITextView 中设置多个链接


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

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

<p>这里是:</p>

<pre><code>    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;
      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 = &#34;&#34;;
      tv.DataDetectorTypes = UIDataDetectorType.Address;
      tv.Selectable = true;
      tv.UserInteractionEnabled = true;
      tv.ScrollEnabled = false;

      cell.ContentView.AddSubview(tv);
      return cell;
    }
</code></pre>

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

<p>在这方面工作太久了,在 Android 上花了大约 3 分钟!为什么这么难??</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>替换下一行</p>

<pre><code>tv.DataDetectorTypes = UIDataDetectorType.Address;
</code></pre>

<p>与</p>

<pre><code> tv.DataDetectorTypes = UIDataDetectorType.Link;
</code></pre>

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

<pre><code>tv.editable = false;
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 在 UITableViewCell 内的 UITextView 中设置多个链接,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/39376662/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/39376662/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 在 UITableViewCell 内的 UITextView 中设置多个链接