MacRuby DoJo (道場)

WebKit フレームワークを使ってみよう

[MacRuby Application] テンプレートを用いてプロジェクトを作成すると、あらかじめ Cocoa.framework というフレームワークが読み込まれるようになっています。

image

また、rb_main.rb で以下のように Cocoa.framework が読み込まれプログラム中から扱えるようになっています。

1
2
3
# Loading the Cocoa framework. If you need to load more frameworks, you can
# do that here too.
framework 'Cocoa'
Cocoa.framework は Foundation.framework、AppKit.framework と CoreData.framework を 1 つにまとめたフレームワークとなっています。これらのフレームワークで扱っている UI 部品や API は、プロジェクト作成直後から利用することができます。

WebKit.framework を追加する

さっそくフレームワークを追加してみましょう。以下の図のように “+” ボタンをクリックすると、フレームワークを追加することができます。

image

シートダイアログが表示されるので、追加するフレームワークを選択します。

image

rb_main.rb で以下のように WebKit.framework を読み込むようにします。

1
2
3
4
# Loading the Cocoa framework. If you need to load more frameworks, you can
# do that here too.
framework 'Cocoa'
framework 'WebKit' # 追加

以上で、フレームワークの追加作業が完了です。

Web View を配置する

image

Object Library から Web View を Window 上に配置します。

Web View をアウトレット接続する

AppDelegate.rb に webView のアウトレット用のアクセサを追加し、Web View と接続します。

1
2
3
class AppDelegate
  attr_accessor :window
  attr_accessor :webView # アウトレット

image

Web サイトを表示する

以下のように、アウトレット接続した webViewmainFrame に URL のサイトを読み込むように指示すると、さきほど配置した Web View に Web サイトが表示されます。

1
2
3
4
5
6
7
8
9
10
11
12
13
class AppDelegate
  attr_accessor :window
  attr_accessor :webView # アウトレット

  def applicationDidFinishLaunching(a_notification)
    # Insert code here to initialize your application
    url = "http://www.apple.com/"
    nsurl = NSURL.URLWithString(url)
    nsurl_req = NSURLRequest.requestWithURL(nsurl)

    webView.mainFrame.loadRequest(nsurl_req)
  end
end

image

Comments