3

NSMenuItems について質問があります。

私がやろうとしているのは、ネイティブの OS X コンポーネントを使用して Java GUI を複製することです。したがって、私が使用している言語は Cocoa です。私がやろうとしているのは、すべてのメニュー項目に画像を表示し、その横にテキストを表示することです。

私はすでにそれについていくつかの調査を行っており、私の最初の寄港地(いつものように笑)は、メニューアイテム内にビューを埋め込む方法を示すこの便利な例を含むAppleドキュメントでした:

https://developer.apple.com/library/mac/#samplecode/MenuItemView/Listings/MyWindowController_m.html#//apple_ref/doc/uid/DTS10004136-MyWindowController_m-DontLinkElementID_8

ココアに比較的慣れていないので、NSMenuItem の描画メソッドの 1 つをオーバーライドする必要があると考えていました。確かではありませんが。私が考えていたもう 1 つのアイデアは、画像とテキストを保持するカスタム ビューを作成することでした。

他のアイデア/検証または議論は大歓迎です。

皆さんありがとう!

ああ、GUI の作成はインターフェイス ビルダーなしで手作業で行われています。

4

2 に答える 2

3

これを行う必要がある場合は、画像とラベルのサブビューを使用してビューを作成するという正しい考えがあります。

しかし:これをしないでください。「ネイティブ」アプリケーションを作成することは、主に言語の選択に関するものではありません (Cocoa ではなく、Objective-C です。後者は、Objective-C で実装された開発フレームワークのコレクションです)。それは、プラットフォームに準拠することです。

OS X (および iOS) では、おそらく他のどのプラットフォームよりも、UI デザインの一貫性が最も重要です。ユーザーは、アプリケーションがいつ奇妙に見えるかを知っており、各メニュー項目の横にアイコンを表示すること (Java アプリで確かに見たことがあるもの) は、OS X では明らかに奇妙で不自然です。

したがって、私のアドバイスは、Human Interface Guidelines に従う (そして、良い副作用として多くの作業を省ける) か、既存の Java アプリケーションをそのまま使用することです。

共通の機能への迅速なアイコン アクセスを提供したい場合、OS X で推奨されるアプローチは、ツールバーを使用することです。

于 2012-07-20T09:39:07.847 に答える