【问题标题】:Xcode 4.5 - OS X Cocoa Application - Basic Web View: Load Google when openedXcode 4.5 - OS X Cocoa 应用程序 - 基本 Web 视图:打开时加载 Google
【发布时间】:2013-01-23 07:02:32
【问题描述】:

我正在尝试创建一个非常基本的 OS X Cocoa 应用程序,打开时会加载 http://www.google.com。尽可能基本(没有后退或前进按钮等)。

我几乎没有使用 Xcode 4.5 的经验,也找不到任何有关 OS X Cocoa 应用程序和 Xcode 4.5 的 Web 视图的教程。我能够找到一个教程并为 iOS 网络视图创建一个网络视图。我把我学到的东西拿走了,但没有走得很远。

这是我到目前为止所做的:

  • 在 Xcode 4.5.2 中创建了新的 OS X Cocoa 应用程序
  • 向 Window 对象添加了 WebView 对象

根据 iOS 网络视图教程,我假设我需要做的就是添加几行代码,它应该可以工作吗?

这是我在 iOS 网页视图 (ViewController.m) 中使用的代码:

NSURL *myURL = [NSURL URLWithString:@"http://www.google.com"];

NSURLRequest *myRequest = [NSURLRequest requestWithURL:myURL];

[myWebView loadRequest:myRequest];

任何帮助将不胜感激。我整晚都被困在这上面。

【问题讨论】:

    标签: objective-c xcode cocoa xcode4.5


    【解决方案1】:

    WebView 添加到主窗口后,您需要确保已将WebKit.framework 添加到项目的链接框架和库中,否则会出现链接错误。

    .h:

    @class WebView;
    
    @interface MDAppDelegate : NSObject <NSApplicationDelegate>
    
    @property (weak) IBOutlet WebView *webView;
    @property (assign) IBOutlet NSWindow *window;
    
    @end
    

    假设您已经为名为 webViewWebView 创建了一个 IBOutlet,就像上面的代码一样,您可以使用下面的代码加载一个 URL:

    .m:

    @implementation MDAppDelegate
    
    - (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
        NSURLRequest *request = [NSURLRequest requestWithURL:
                     [NSURL URLWithString:@"https://www.google.com/"]];
        [self.webView.mainFrame loadRequest:request];
    }
    
    @end
    

    示例 GitHub 项目:https://github.com/NSGod/WebViewFinagler

    【讨论】:

    • 要让 WewView 在主视图上自动调整大小:在 Xcode 中,转到 File Inspector 窗口并取消选中为“Use Autolayout”提供的复选框,然后切换到 Size 检查器,您将看到自动调整大小窗口。跨度>
    【解决方案2】:

    在下一行添加self关键字

    [myWebView loadRequest:myRequest];
    

    喜欢这个

    [self.myWebView loadRequest:myRequest];
    

    试试下面的代码,它对我有用,刚刚测试过

    1) 创建新项目
    2) 选择 V​​iewController ,转到 xcode 菜单
    编辑器->嵌入->导航控制器
    3) 在 ViewController.h 中声明 myWebView 属性

    在 ViewController.m 中编写如下代码

       self.myWebView = [[UIWebView alloc] initWithFrame:self.view.bounds]; 
       self.myWebView.scalesPageToFit = YES;
       [self.view addSubview:self.myWebView];
       NSURL *myURL = [NSURL URLWithString:@"http://www.google.com"];
       NSURLRequest *myRequest = [NSURLRequest requestWithURL:myURL];
       [self.myWebView loadRequest:myRequest];
    

    【讨论】:

    • 我要把这个添加到哪个文件中?
    • @user1822824:in ViewController.m
    • 我只有 AppDelegate.h 和 AppDelegate.m
    • 我没看到。我正在为桌面而不是 iOS 执行此操作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-19
    相关资源
    最近更新 更多