У меня есть UIWebView
со встроенным видео в качестве дополнительного поднабора UIView
. Вся эта страница выполняется программно. Я анимация изменения рамки веб-представления, но его scrollView
автоматически изменяется, как только я меняю фрейм.Изменение изменения рамки UIWebview scrollView в iOS9
Как я могу предотвратить изменение размера webView.scrollView
при изменении webView.frame
?
EDIT: Изменение webView.frame
изменений webView.scrollView.contentSize.height
на величину, отличную от webView.frame.height
. Зачем?
Моя минимизировать функцию вида является:
func minimizeViewOnPan() {
self.btnDown.hidden = true
var trueOffset: CGFloat = self.initialFirstViewFrame.size.height - 95
var xOffset: CGFloat = self.initialFirstViewFrame.size.width - 165
viewFrame.size.width = 160
viewFrame.size.height = 90
viewFrame.origin.y = trueOffset
viewFrame.origin.x = xOffset
UIView.animateWithDuration(0.3, delay: 0.0, options: UIViewAnimationOptions.CurveEaseInOut, animations: {() -> Void in
self.viewYouTube.frame = self.viewFrame
// self.viewYouTube.frame & self.viewFrame on iPhone 6: (210.0, 572.0, 160.0, 90.0)
// self.webView is a subview of self.viewYouTube
self.webView.frame = CGRectMake(self.player.frame.origin.x, self.player.frame.origin.x, self.viewFrame.size.width, self.viewFrame.size.height)
// On iPhone 6: (0.0, 0.0, 160.0, 90.0)
}) { (finished) -> Void in
// add tap gesture
self.tapRecognizer = nil
if (self.tapRecognizer == nil) {
self.tapRecognizer = UITapGestureRecognizer(target: self, action: "expandViewOnTap:")
self.tapRecognizer.numberOfTapsRequired = 1
self.tapRecognizer.delegate = self
self.viewYouTube.addGestureRecognizer(self.tapRecognizer)
}
self.isExpandedMode = false
self.minimizedYouTubeFrame = self.viewYouTube.frame
if (self.direction != nil) && (self.direction == UIPanGestureRecognizerDirection.Down) {
self.onView.bringSubviewToFront(self)
}
}
}
Более половины видео обрывается, как есть. Поэтому мой вопрос заключается в том, почему минимальное изменение видео изменилось неправильно?
Непосредственно изменяется. Представление 'contentSize.height 'представления неверно. Если я могу отключить это, я могу правильно установить 'scrollView.zoomScale' то, что я хочу. Если я назову это сейчас, 'zoomScale' применяется к неправильному' contentSize.height'. И ручное вызов 'contentSize.height' ничего не делает. – chicobermuda
@matt видеть отредактировано. – chicobermuda
На самом деле, я уточнил свой вопрос, чтобы дать другим пользователям лучшую идею. 'webView.scrollView' неправильно изменяет размер, потому что его' contentSize.height' неверен, что я не могу установить самостоятельно. Я искренне благодарен за решение или конструктивную обратную связь. – chicobermuda