Это можно сделать примерно так:
-(void)setWebViewScale:(NSUInteger)pageScale {
_textFontSize = pageScale;
NSString *jsString = [[NSString alloc] initWithFormat:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '%d%%'",pageScale];
[_webView stringByEvaluatingJavaScriptFromString:jsString];
[jsString release];
}
И шкала +/- будет выполнена:
- (IBAction)changeTextFontSize:(id)sender
{
switch ([sender tag]) {
case 1: // A-
_textFontSize = (_textFontSize > MIN_PAGE_SCALE) ? _textFontSize - STEP_PAGE_SCALE : _textFontSize;
break;
case 2: // A+
_textFontSize = (_textFontSize < MAX_PAGE_SCALE) ? _textFontSize + STEP_PAGE_SCALE : _textFontSize;
break;
}
[self setWebViewScale:_textFontSize];
}
Определяет MAX_PAGE_SCALE, а MIN_PAGE_SCALE ограничивает содержание слишком большим и слишком маленьким, а STEP_PAGE_SCALE определяет шаг изменения масштаба.