ios - 如何使用后退按钮使导航栏透明,并且 webView 将显示到状态栏的边缘

标签 ios objective-c webview autolayout uinavigationbar

如何使用后退按钮使导航栏透明,并且 webView 将显示到状态栏的边缘。

我的webview约束都设置到Superview的边缘

我试过了this但我得到了以下结果。 Pic

我还在 appdelegate.m 中尝试了以下代码

UINavigationBar *navigationBarAppearance = [UINavigationBar appearance];
navigationBarAppearance.backgroundColor = [UIColor clearColor];
[navigationBarAppearance setBackgroundImage:[[UIImage alloc] init] forBarMetrics:UIBarMetricsDefault];
navigationBarAppearance.shadowImage = [[UIImage alloc] init];

[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60) forBarMetrics:UIBarMetricsDefault];

但是 WebView 直到状态栏才加载。它会停在导航栏上。 Pic1

我的想法已经用完了,请帮忙。

显示WebView约束,它只是不会通过导航栏显示。

pics

最佳答案

您可以通过以下方式获取导航栏高度,这适用于所有屏幕

let height  =   self.navigationController.navigationBar.frame.size.height

并且您需要将 webview 的顶部约束设置为 -ve 为该值。首先,引用顶部约束 say

@IBoutlet weak var topRefWebView:NSLayoutConstraint!

在 View 中设置它的值会出现

let height  =   self.navigationController.navigationBar.frame.size.height
topRefWebView = -1 * height

关于ios - 如何使用后退按钮使导航栏透明,并且 webView 将显示到状态栏的边缘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49247229/

相关文章:

objective-c - 保存包含 'Calculation' 字段的 PKTItem 时是否有避免错误的解决方法?

ios - React Native WebView 滚动行为无法按预期工作

ios - 如何使用动画概念将一个 UIview 推送到 ios 中的另一个 UIview?

ios - 用于应试 iOS 应用程序的核心数据模型

android - NestedScrollView 里面的 WebView 不能滚动

android - Webview 应用程序出错

ios - Cocoa/iOS 错误处理风格,没有 NSError

ios - 当我们在 iOS 设备上安装应用程序时第一次访问 iOS 应用程序中的联系人时如何显示警报 View ?

ios - 如何使用 PJSIP 为 iOS 客户端应用捕获和翻译其他语言的传入音频流?

ios - Xcode/ios : How do you get name of image after letting user select one and displaying it?