1

我有一个带有一些 lorem ipsum 的 UIWebView:

- (void)loadView
{
    UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 300, 100)];

    [webView loadHTMLString:@"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla quis urna risus, vitae sagittis justo. Aenean et justo elementum augue adipiscing tincidunt eget nec urna. Cras lorem nunc, commodo at ullamcorper ut, eleifend nec metus. Phasellus lectus elit, mattis non fermentum quis, elementum vel augue." baseURL:nil];

    UIView *container = [[UIView alloc] init];
    [container setBackgroundColor:[UIColor grayColor]];
    [container addSubview:webView];
    [self setView:container];
}

正如预期的那样,我可以单击并按住以选择文本:

在此处输入图像描述

但是当我删除 lorem ipsum 的最后几句话(这样内容适合 webview 的框架内,并且不再诱导垂直滚动条),然后我不能再单击并按住来选择文本:

在此处输入图像描述

(但是,我仍然可以通过双击并按住来选择文本,尽管默认情况下选择整个段落的行为略有不同。)

我正在努力 (a) 了解当前行为和/或 (b) 修复它,以便单击并按住始终选择文本。

4

1 回答 1

3

我似乎在随机摆弄变量时偶然发现了解决方案:

仅当 (a) webview 的高度 >= 100 或 (b) webview 内容的高度 >= 100 时,才能选择文本(通过单击并按住)。

100 似乎是这里的神奇数字:如果我将高度从 100 提高到 101,那么文本选择会按预期工作。

编辑

在一个单独的例子中,幻数是 104。所以有一些高度n,低于该高度的文本部分停止正常工作,但我还没有发现n背后的模式。

于 2013-04-26T00:28:29.137 回答