MacアプリでOS X Lionから追加されたポップオーバーを作る手順です。
ポップオーバー
ポップオーバーは、単語をタップしたりして辞書を調べるとびよんと飛び出てくるこんなウィンドウです。
■ドキュメント
https://developer.apple.com/library/mac/documentation/AppKit/Reference/NSPopover_Class/NSPopover_Class.pdf
https://developer.apple.com/library/mac/documentation/AppKit/Reference/NSPopover_Class/index.html#//apple_ref/doc/uid/TP40010720-CH1-SW15
作り方
作り方の動画をあげている方がいたので、最初は動画を見ると分かりやすいです。
ひととおり理解した後、しばらくしてから手順を思い出す時にまた動画をみるのはだるいので、簡単に手順を書き出しておきます。
1. Popover オブジェクトをライブラリからアウトラインへ
![Popoverオブジェクト](https://kisagai.com/wp-content/uploads/2012/06/8c83b6fd6a529fefc6dad66a8d3955f1.png)
アウトラインにドロップすると次の2つのオブジェクトがはり付きます。
![アウトラインのPopoverオブジェクト](https://kisagai.com/wp-content/uploads/2012/06/1d4e68fefd416753296d22162816cd00.png)
- Popover View Controller
- Popover
2. カスタムビューをドロップ
カスタムビューをライブラリからアウトラインへドロップします。
![カスタムビューをドロップ](https://kisagai.com/wp-content/uploads/2012/06/fcc9db064afc5361d2279b77fe907def.png)
これがポップオーバーのウィンドウになります。
![カスタムビューをドロップした後](https://kisagai.com/wp-content/uploads/2012/06/ba34de414b6515f7f1610113091abe0a.png)
3. PopoverのIBOutletを作成
アウトラインのPopoverオブジェクトからcntrolキーをおしながらソースコードにドロップしてIBoutletを作成します。
![IBoutletの作成](https://kisagai.com/wp-content/uploads/2012/06/8b2794aa9ad9d696430ae5334b8ea4af.png)
4. Popoverを起動するボタンのアクションを作成
- (IBAction)resetPressed:(NSButton *)sender { [self.popover showRelativeToRect:[sender bounds] ofView:sender preferredEdge:NSMinYEdge]; }
5.Popover Controllerからカスタムビューに接続
![PopoverControllerの連結](https://kisagai.com/wp-content/uploads/2012/06/8b6d7e072b6dcabaf4ffef5c7254ae43.png)
6. Popoverを消去する処理を記述
ポップオーバーのカスタムビューに「閉じる」ボタンなんかをつけ、そのアクションの中でポップオーバーを消す処理を記述します。
- (IBAction)closePressed:(NSButton *)sender { //ポップオーバー消去 [self.popover performClose:self]; }