我已经得到了下面的代码,通过按照这里的说明在UIWebView中使用两个decrease/increase
文本字体大小的按钮上的IBActions。
当前单击任一按钮都会使字体大小减小到尽可能小的大小,而不是从当前大小向上或向下递增。
然而,我一直无法解决如何设置文本字体大小的初始值来解决问题。
我已经尝试添加textFontSize = 100;
,但这只允许向上或向下调整文本大小一步(-5 or +5)
。这几天来一直让我恼火。非常感谢您的帮助。
- (IBAction)changeTextFontSize:(id)sender;
//textFontSize = 100;
{
switch ([sender tag]) {
case 1: // A-
textFontSize = (textFontSize > 50) ? textFontSize -5 : textFontSize;
break;
case 2: // A+
textFontSize = (textFontSize < 160) ? textFontSize +5 : textFontSize;
break;
}
NSString *jsString = [[NSString alloc] initWithFormat:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '%d%%'",
textFontSize];
[webView stringByEvaluatingJavaScriptFromString:jsString];
[jsString release];
}
这里有几个问题:
- 方法声明后不需要分号。拆下它
- 您需要在方法外部的某个处声明
textFontSize
,这样它就不会在每次调用该方法时重置为100。假定将其作为实例变量或放在文件范围中
如果您进行了这些更改,那么代码应该可以正常工作。