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 ...),以便在延迟后运行,但它看起来像是无意识的动画... –