问题描述
我正在使用以下代码传递URL,并在WKWebview中显示该URL。我没有使用情节提要板,而没有以编程方式创建所有内容,而是在按钮单击事件上以模态形式显示视图控制器。我还使用自定义导航栏显示标题和“返回”按钮。一切工作正常,但是在某些情况下,自定义导航栏如何向上移动并被状态栏覆盖(如iPhone X,iPhone XR等高端设备),同样的情况也适用于iPhone 8,iPhone 7(如带有主页按钮的设备)。以下是iPhone 8的屏幕截图:
下面是传递URL的代码,并且在单击按钮时显示了视图控制器。自定义导航栏位于viewWillAppear代码内部
#import "KonyWebViewController.h"
#import <WebKit/WebKit.h>
@interface KonyWebViewController ()<WKNavigationDelegate,WKUIDelegate>{
WKWebView *_konyWebLoader;
}
@end
@implementation KonyWebViewController
- (void)viewDidLoad {
[super viewDidLoad];
_konyWebLoader = [[WKWebView alloc] initWithFrame:CGRectMake(0,55,self.view.frame.size.width,self.view.frame.size.height)];
[_konyWebLoader setAutoresizingMask: UIViewAutoresizingFlexibleWidth];
NSURL *url = [NSURL URLWithString: self.productURL];
NSURLRequest *urlReq = [NSURLRequest requestWithURL:url];
NSLog(@"Product URL%@",_productURL);
NSLog(@"TItle%@",_titleName);
[_konyWebLoader loadRequest:urlReq];
[self.view addSubview:_konyWebLoader];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(void) viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
UINavigationBar *myNav = [[UINavigationBar alloc]initWithFrame:CGRectMake(0,50)];
[myNav setAutoresizingMask: UIViewAutoresizingFlexibleWidth];
[UINavigationBar appearance].barTintColor = [UIColor whiteColor];
[self.view addSubview:myNav];
UIBarButtonItem *cancelItem = [[UIBarButtonItem alloc] initWithTitle:@"Back"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(backButtonClicked)];
UINavigationItem *navigItem = [[UINavigationItem alloc] initWithTitle:_titleName];
navigItem.leftBarButtonItem = cancelItem;
myNav.items = [NSArray arrayWithObjects: navigItem,nil];
[UIBarButtonItem appearance].tintColor = [UIColor colorWithRed: 0.10 green: 0.53 blue: 0.84 alpha: 1.00];
}
- (void)backButtonClicked {
NSLog(@"Executing backButtonClicked...");
[self dismissViewControllerAnimated:YES completion:nil];
}
@end
我知道iPhoneX中状态栏的高度是44,而不是20 在iPhone 8类(带主页按钮)和iPhone X类(不带主页按钮)的情况下,如何防止重叠并向下移动导航栏?请注意,我只想更改此视图控制器的位置,因为我不想影响整个应用程序
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)