gpt4 book ai didi

uiwebview - UIWebView 中文本选择开始或结束的通知?

转载 作者:行者123 更新时间:2023-12-04 15:59:54 26 4
gpt4 key购买 nike

我正在寻找一种方法来观察 UIWebView 中文本选择已开始或结束的通知。一旦出现大头针和蓝色选择覆盖,它会自动更新 Javascript 选择和范围对象,但是当您点击选择并结束时,似乎没有一种干净的方式来获得通知。

最佳答案

您可以简单地锁定 javascript touchend事件(或 Obj-C 中的 touchesEnded)并检查 window.getSelection() 的状态.还有 javascript 事件 selectionchange .

我使用的另一种方法是通过循环 subview 来检查 UIWebView 的选择状态:

- (bool) selectionInWebView:(UIWebView*)webView {
UIScrollView *scrollView = webView.scrollView; //assumes IO(6)? and scrollView is exposed. Loop subviews otherwise.
UIView *browserView;

for(int i = 0; scrollView.subviews.count; i++){
if([NSStringFromClass([scrollView.subviews[i] class]) isEqualToString:@"UIWebBrowserView"]){
browserView = scrollView.subviews[i]; break;
}
}

if(browserView == nil) return false;

for(int i = 0; browserView.subviews.count; i++){
if([NSStringFromClass([browserView.subviews[i] class]) isEqualToString:@"UIWebSelectionView"]){
//UIView *selectionView = browserView.subviews[i];
return true; //selection view exists, a selection is in progress
}
}

return false;
}

但是您最好的选择是在触摸结束事件触发或选择更改事件触发时检查选择状态。

关于uiwebview - UIWebView 中文本选择开始或结束的通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13146000/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com