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 = "";
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]