![IKImageBrowserView](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4aPzNzbeIiqOJvufSoOUzj3b-xNzV90P4Ns75FuD3c0FUJjgBHhBe5eaz-bmjhwTwBo8Fbf4cwhK2PFn4_cMNDLE4o0gU0p_rMXdhAyxZw3yy6RDnCDEQDvSQAn1we0Ua1IaZFL-JCQ4/s1600/pn-009.png)
前回に続いて外字一覧ウィンドウの話. NSCollectionViewは速度的に問題があったので,Image Kitに含まれるIKImageBrowserViewを使ってみました. 結論からいくと画像ブラウザを指向しているだけあって速度的には問題なし.ただ, バグがまだまだ多いのかなという感じでした.
外字一覧ウィンドウは辞書を変更する度に中身が変わります. で, 頻繁に内容を入れ替えていると落ちる.こっちでrelease済みのデータにアクセスしている感じです. 仕方ないので, ガベージコレクションを入れると落ちなくなるのですが, リークメモリが凄い事になります. 使い物になるにはしばらくかかりそうです.
IKImageBrowserViewの使い方. Interface Builderで Image Browser Viewを配置します. スクロールバーがないので, Layout -> Embed Object In -> Scroll View でNSScrollViewの中に入れます.
データの設定方法は, bindingsは使えないので, Data Sourceを用意. IKImageBrowserDataSource Protocolのrefrenceを見ればすぐ分かるでしょう.
値としては, IKImageBrowserItem Protocolを実装したクラスでないといけません. 画像の指定方法はNSImageでもファイルパスでも可能. 今回はNSDataを返す方法でやってみました.
あと, Quartz.frameworkをプロジェクトに入れるのを忘れない様に. かな? 画像 + 文字列を単純に表示させるUIは意外と多いので画像ビューワだけでなく使えそうですが, いかんせんバグが多いのが問題ですね….
0 件のコメント:
コメントを投稿