第一个StackOverflow问题对我来说......
!! Objective-C !!
我正在更新旧应用并正在使用帮助屏幕。 我选择通过一些html显示一些有用的How-tos主要是为了便于格式化文本(项目符号,颜色,粗体,下划线等...)。 由于应用程序有点复杂,帮助屏幕共有3个: 一个主要信息网页,链接到其他2个详细页面。
Tha app已本地化为英语(基础)和法语。
设置完成后,一切正常,我继续本地化了基本的html文件。
现在,它们整齐地放在Base.lproj和fr.lproj文件中。
但是,当我点击主WebView上另一个页面的链接时,没有任何反应!
有什么想法吗?
由于
以下是我正在使用的一些代码: 在.h文件中:
@interface howToViewController : UIViewController <WKUIDelegate>
{
WKWebView *infoText;
NSString *uRLString;
}
@property (nonatomic, retain) WKWebView *infoText;
在.m文件中:(由于在通过Storyboard创建时已知的Xcode 9错误,必须以编程方式创建WKWebView)
- (void)viewDidLoad
{
[super viewDidLoad];
WKWebViewConfiguration *theConfiguration = [[WKWebViewConfiguration alloc] init];
WKWebView *aWebView = [[WKWebView alloc] initWithFrame:self.view.frame
configuration:theConfiguration];
aWebView.UIDelegate = self;
self.infoText = aWebView;
NSURL *url = [[NSBundle mainBundle] URLForResource:@"infoHTML" withExtension:@"html"];
NSString *html = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
NSURL *baseUrl = [NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]];
[infoText loadHTMLString:html baseURL:baseUrl];
[self.view addSubview:infoText];
}
在html文件中,文件本地化后不再有效的链接:
<p>3/ More information is available for the respective tabs by pressing the following links :</p>
<ul><li><a href="pageOne.html">Limitations</a>
</li></ul>
<ul><li><a href="pageTwo.html">Fueling</a>
</li></ul>
答案 0 :(得分:0)
从我的某个应用中运行代码。我正在使用NSURLRequest和WKWebView的loadRequest实例方法。我不确定你使用loadHTMLString会出现什么问题:baseURL:但我认为它可能与你为baseURL参数传递的值有关。您是否已清除控制台,然后单步执行该行代码以查看您是否在控制台中收到任何消息?
NSURL *url = [[NSBundle mainBundle] URLForResource: pageString withExtension: @"html"];
NSURLRequest *request = [NSURLRequest requestWithURL: url];
[webView loadRequest: request];