如何通过按下按钮更改WebView中的文本?
我有一个Web视图,填充了HTML。
if ([buttonState isEqualToString:@"YES"]) {
UIFont *webFont = [UIFont fontWithName:@"Helvetica" size:12];
NSString *mainTextString;
mainTextString = @"<p><b>General:</b>THIS IS TEXT1</p>";
mainTextString = [NSString stringWithFormat:@"<span style=\"font-family: %@; font-size: %i\">%@</span>", webFont.fontName, (int) webFont.pointSize, mainTextString];
[mainText loadHTMLString:mainTextString baseURL:nil];
}
else if ([buttonState isEqualToString:@"NO"]) {
UIFont *webFont = [UIFont fontWithName:@"Helvetica" size:12];
NSString *mainTextString;
mainTextString = @"<p><b>General:</b>THIS IS TEXT2</p>";
mainTextString = [NSString stringWithFormat:@"<span style=\"font-family: %@; font-size: %i\">%@</span>", webFont.fontName, (int) webFont.pointSize, mainTextString];
[mainText loadHTMLString:mainTextString baseURL:nil];
}
我还有一个UIButton,我想用它来更改Webview中的文本。
- (IBAction)textChangeButton:(id)sender {
if ([buttonState isEqualToString: @"NO"]) {
buttonState = @"YES";
}
else if ([buttonState isEqualToString:@"YES"]) {
buttonState = @"NO";
}
[mainText reload];
}
不幸的是,当我按下按钮时,第二个文字没有出现!
作为编程的新手,我不知道问题是什么。我已经尝试在按钮按下重新加载webview - 仍然没有运气。有人能指出我正确的方向吗?
非常感谢任何帮助!
答案 0 :(得分:1)
调用[mainText reload]
只会加载一个空白页面。您需要再次为webview执行第一个代码以加载正确的内容。
尝试将代码移至新方法并在viewDidLoad
和textChangeButton:
- (void)reloadWebPage {
if ([buttonState isEqualToString:@"YES"]) {
mainTextString = (...);
[mainText loadHTMLString:mainTextString baseURL:nil];
}
else if ([buttonState isEqualToString:@"NO"]) {
mainTextString = (...);
[mainText loadHTMLString:mainTextString baseURL:nil];
}
}
- (void)viewDidLoad {
[self reloadWebPage];
}
- (IBAction)textChangeButton:(id)sender {
if ([buttonState isEqualToString: @"NO"]) {
buttonState = @"YES";
}
else if ([buttonState isEqualToString:@"YES"]) {
buttonState = @"NO";
}
[self reloadWebPage];
}