Я уже искал «все» об этом в Google/Stackoverflow, но я все еще застрял. Я только начал разрабатывать OSX Apps, поэтому я (почти) полный новичок в Objective-C и Xcode 5 (5.0.2).Как включить масштабирование на Mac WebView?
Все, что мне нужно, это простой веб-просмотр для загрузки веб-игры с заданного URL-адреса. Этот веб-просмотр должен вести себя так же, как очень простой браузер Safari. Мое приложение уже работает относительно хорошо. Он загружает игру в порядке, и после многих попыток я преуспел в том, что он показывал предупреждения javascript и подтверждал.
Моя задача теперь сделать работу с щепоткой зумом. Это мой appDelegate.M:
#import "AppDelegate.h"
@implementation AppDelegate
@synthesize myWebView;
// Enables confirms:
- (BOOL)webView:(WebView *)sender runJavaScriptConfirmPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame {
NSInteger result = NSRunInformationalAlertPanel(NSLocalizedString(@"Confirmação", @""), // title
message, // message
NSLocalizedString(@"OK", @""), // default button
NSLocalizedString(@"Cancelar", @""), // alt button
nil);
return NSAlertDefaultReturn == result;
}
// Enables alerts:
- (void)webView:(WebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame {
NSAlert *alert = [[NSAlert alloc] init];
[alert addButtonWithTitle:@"OK"];
[alert setMessageText:message];
[alert runModal];
//[alert release];
}
// This was supposed to enable pinch zoom:
- (void)magnifyWithEvent:(NSEvent *)event {
//[resultsField setStringValue:
//[NSString stringWithFormat:@"Magnification value is %f", [event magnification]]];
NSSize newSize;
newSize.height = [[NSScreen mainScreen] frame].size.height * ([event magnification] + 1.0);
newSize.width = [[NSScreen mainScreen] frame].size.width * ([event magnification] + 1.0);
//[self setFrameSize:newSize];
[myWebView setFrameSize:newSize];
}
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
// Insert code here to initialize your application
[self.window setContentView:self.myWebView];
[self.window toggleFullScreen:@""];
[myWebView setMainFrameURL:@"http://www.mywebgameurl.com"];
}
@end
Очевидно, что код внутри - (void)magnifyWithEvent:(NSEvent *)event
не работает. Приложение работает и работает, но ничего не происходит, когда я зажимаю.
Другими словами, мне нужно включить веб-просмотр для увеличения и уменьшения масштаба с помощью функции трекпада. Я уже разработал очень похожий веб-просмотр в Android, и все, что мне нужно было сделать, это добавить webSettings.setBuiltInZoomControls(true); webSettings.setSupportZoom(true);
. Я просто ищу что-то подобное. Любая помощь приветствуется, спасибо!