Я пробовал просмотр прокрутки KVO, и я попытался оценить javascript в документе, используя clientHeight
, offsetHeight
и т. д. ...
Что в конечном итоге со мной работало: document.body.scrollHeight
. Или используйте scrollHeight
вашего верхнего элемента, например. контейнер div
.
Я слушаю изменения свойств WKWebview loading
с помощью KVO:
[webview addObserver: self forKeyPath: NSStringFromSelector(@selector(loading)) options: NSKeyValueObservingOptionNew context: nil];
И затем:
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSKeyValueChangeKey,id> *)change context:(void *)context {
if(object == self.webview && [keyPath isEqualToString: NSStringFromSelector(@selector(loading))]) {
NSNumber *newValue = change[NSKeyValueChangeNewKey];
if(![newValue boolValue]) {
[self updateWebviewFrame];
}
}
}
updateWebviewFrame
:
[self.webview evaluateJavaScript: @"document.body.scrollHeight" completionHandler: ^(id response, NSError *error) {
CGRect frame = self.webview.frame;
frame.size.height = [response floatValue];
self.webview.frame = frame;
}];
В разделе Tools > Preferences > Code Editor > Completion Insight есть опция 'Change case as you type'.
Но я не думаю, что это сделает то, что вы ищете. Если флажок не установлен, он либо сделает все строчные буквы, либо все прописные, в зависимости от того, что вы ввели на данный момент. Я не уверен, что он сделает это так, как вы хотите.