1
在iOS中,有什麼方法可以編寫在系統即將在UIWebView上顯示文本選擇控件時調用的代碼?檢測即將發生的文本選擇
我需要一些我的代碼在用戶想要選擇某些內容時調用,但在選擇實際添加到頁面之前,如果可能的話。
在iOS中,有什麼方法可以編寫在系統即將在UIWebView上顯示文本選擇控件時調用的代碼?檢測即將發生的文本選擇
我需要一些我的代碼在用戶想要選擇某些內容時調用,但在選擇實際添加到頁面之前,如果可能的話。
我找到了解決方法,使用延遲方法調用。選擇控件不會立即顯示,而只會在您點按某些文本約半秒鐘後纔會顯示。
這裏是我以前做的代碼的一個大致的輪廓:
//in the view controller header declare a boolean
BOOL _confirmUserIsSelectingText;
//in onTouchBegan
_confirmUserIsSelectingText = YES;
[self performSelector:@selector(textSelectionWillAppear:) withObject:nil afterDelay:0.3f];
//in onTouchMoved
_confirmUserIsSelectingText = NO;
//in onTouchEnded
_confirmUserIsSelectingText = NO;
//then define textSelectionWillAppear:
- (void)textSelectionWillAppear:(id)ignoreMe
{
//do whatever it is you need to happen before the selection controls appear
}
不是最好的解決辦法,但在我的情況下工作。如果textSelectionWillAppear需要更多時間運行,則延遲可以調整,但我認爲延遲不應該太接近0.5f,否則在出現選擇框之前實際上可能不會調用該方法。