2014-01-15 3 views
1

Я уже искал «все» об этом в 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);. Я просто ищу что-то подобное. Любая помощь приветствуется, спасибо!

ответ

0

Вы просто не можете, веб-просмотры Cocoa не имеют такого контроля над функцией масштабирования зума.

Смежные вопросы