0
我在做iOS鍵盤擴展。iOS 8.3,鍵盤擴展Safari問題
但是當我在Safari Web中點擊按鈕後執行下面的代碼時,代理(UITextDocumentProxy
)停止。
[self.textDocumentProxy adjustTextPositionByCharacterOffset:-5];//stop here
for (int i = 0; i < 10; i ++) {
[self.textDocumentProxy deleteBackward];
}
[self.textDocumentProxy insertText:@"__________"];
它在safari-top-search-bar中運行良好,但在其他純文本框中停止。
dispatch_queue_t myQueue = dispatch_queue_create("com.test.online",0);
dispatch_async(myQueue, ^{
[self.textDocumentProxy adjustTextPositionByCharacterOffset:-5];
[NSThread sleepForTimeInterval:0.1];
for (int i = 0; i < 10; i ++) {
[self.textDocumentProxy deleteBackward];
}
[self.textDocumentProxy insertText:@"__________"];
});
如果我把塊到dispatch_async上另一個隊列一些延遲後adjustTextPositionByCharacterOffset。 It_works
但它使我的代碼在其他應用程序也緩慢。
任何好主意?或者有什麼辦法來檢測它是否是Safari?
我試圖用gcd來包裝每種方法(比如deleteBackword,adjust ...),以便在延遲後運行,但它看起來像是無意識的動畫... –