0
私はヘッダとフッタ(どちらもUIViews
)を追加しようとしていますが、何らかの理由でフッタが底にくっついています。私はコンテンツサイズを見るためにKVO
メソッドを使用しています。uiwebview with header and footer
私はここで私は問題だと思う方法で提示しています:
- (void)updateLayout
{
// Update the frame of the header view so that it scrolls with the webview content
CGRect newHeaderFrame = self.headerView.frame;
CGRect newFooterFrame = self.footerView.frame;
newHeaderFrame.origin.y = -CGRectGetMinY([self.webView convertRect:self.innerHeaderView.frame toView:self.webView.scrollView]);
newFooterFrame.origin.y = self.webView.scrollView.contentSize.height;
[self.headerView setFrame:newHeaderFrame];
[self.footerView setFrame:newFooterFrame];
if ([self didTapToFullScreen])
{
// The delegate was already called in this case, in the tap gesture callback method
return;
}
BOOL fullScreen = (newHeaderFrame.origin.y < 0);
if (([self isZooming] && [self didSwitchToFullScreen]) || (fullScreen == [self isFullScreen]))
{
return;
}
[self setSwitchToFullScreen:fullScreen];
[self setFullScreen:fullScreen];
// Call the delegate for the full screen
[self.fullScreenDelegate emailView:self showFullScreen:fullScreen];
}
私はUIWebView
の底にフッターを配置することができますどのように?
自動レイアウトを使用している場合、フレームではなく制約を更新する必要があります。ビューをWebビューの下部に固定しましたが、フレームを画面外に設定しています。フレームは設定されますが、レイアウトエンジンはウェブビューの最下部に固定する必要があると判断し、ちらつきが生じ、ビューが急速に前後にジャンプします。また、 'newFooterFrame.origin.y = self.webView.scrollView.contentSize.height;'は、Webビューのスクロールビューの一番下にあるフッタービューのフレームを完全にオフスクリーンに設定します。ビューが画面上に表示される前に、その行を呼び出します。これはあなたの意図ですか? – beyowulf
https://github.com/protectedtrust/UIWebView-with-Header-and-Footer – bikram990
@ bikram990を使用することができます。ありがとうございました。既に試しました。参考:私はすでに適切なリポジトリ(https://github.com/alexszilagyi/HeaderWebView)を作成してこれを作成しようとしました –