我已经在Google / Stackoverflow中搜索过“关于此事的一切”,但我仍然被卡住了。我刚刚开始开发OSX应用程序,所以我是Objective-C和Xcode 5(5.0.2)中的(几乎)完全新手。
我只需要一个简单的webview来从给定的URL加载webgame。此webview必须像一个非常简单的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
内的代码无效。该应用程序构建并运行,但当我捏时没有任何反应。
换句话说,我需要使用触控板捏合功能启用webview进行放大和缩小。我已经在Android中开发了一个非常相似的webview,我所要做的就是添加webSettings.setBuiltInZoomControls(true);
webSettings.setSupportZoom(true);
。我只是在寻找类似的东西。欢迎任何帮助,谢谢!!
答案 0 :(得分:0)
你不能,Cocoa网页浏览器无法控制缩放缩放功能。