2014-01-15 54 views
1

我已經在Google/Stackoverflow中搜索了關於這個的所有內容,但是我仍然陷入了困境。我剛開始開發OSX應用程序,所以我是Objective-C和Xcode 5(5.0.2)中的一個(幾乎)完全新手。如何在Mac WebView上啓用縮放?

我需要的只是一個簡單的webview來從給定的URL加載webgame。這個webview必須表現得像一個非常簡單的Safari瀏覽器。我的應用程序已經運行得相當好。它加載遊戲OK,並經過很多努力,我成功地讓它顯示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代碼是行不通的。該應用程序構建並運行,但是當我捏的時候沒有任何反應。

換句話說,我需要啓用webview來放大和縮小使用觸控板捏功能。我已經在Android中開發了一個非常類似的webview,我只需要添加webSettings.setBuiltInZoomControls(true); webSettings.setSupportZoom(true);。我只是在尋找類似的東西。歡迎任何幫助,謝謝!

回答

0

你只是不能,可可webviews沒有這樣的控制捏縮放功能。