4

テキストビューの「インスペクターバー」を有効にして、さまざまな書式設定ボタンを備えたバーが画面の上部に表示されるようにするのは簡単です。(ただし、スクロール ビュー自体ではなく、スクロール ビューでテキスト ビューを選択していることを確認するまで、混乱がありました)。プログラムで [textView setUsesInspectorBar:YES] を使用するか、属性インスペクターに移動して、[Uses] セクションの [Inspector Bar] ボックスをオンにします。

私の質問は、インスペクタ バーをさらに制御するにはどうすればよいですか? XCode ドキュメントまたはオンラインで情報を見つけるのに苦労しています。画面上の別の場所に配置できるようにしたいと思います。バーにある特定のコントロールを選択できることも素晴らしいでしょう.

4

4 に答える 4

5

これは 4 年遅れていますが、インターネット上の誰かが将来この恩恵を受ける可能性があると感じています. 私はこれを理解しようとしてあまりにも長い時間を費やしました.

他の人が指摘したように、インスペクター バー クラスはプライベート クラス (__NSInspectorBarView) のようです。したがって、変更することはお勧めできません。

それにもかかわらず!好奇心旺盛な人は知っておく必要があります。この記事の時点 (2016 年 4 月) では、インスペクタ バーがウィンドウのアクセサリ バーに挿入されています。NSWindowcalledの array プロパティを使用して、OS X 10.10 以降のアクセサリ ビューのリストを取得できますtitlebarAccessoryViewControllers[]

これを行うための Swift 2.0 コードを次に示します。ただし、他のアクセサリ ビューを事前にウィンドウに挿入していないことを前提としています

if window.titlebarAccessoryViewControllers.count > 0 {
        let textViewInspectorBar = self.titlebarAccessoryViewControllers[0].view
        let inspectorBarHeight: CGFloat = textViewInspectorBar!.frame.height // 26.0 pt
    }

全画面表示モードのアプリでは、アクセサリ ビューの処理が異なることに注意してください

アクセサリ ビューはツールバーにとどまるように設計された特別な種類のビューであるため、個人的にはアクセサリ ビューを移動しようとはしません (読んだことを完全に理解していれば)。

NSTitlebarAccessoryViewController リファレンス: https://developer.apple.com/library/mac/documentation/AppKit/Reference/NSTitlebarAccessoryViewController_Class/

于 2016-04-03T04:56:14.827 に答える
0

これを配置するために何もすることはできません。明らかに、@Vervious によって指摘された破損は本物です、NSToolBar がない場合に限ります。ご覧のとおり、この inspectorBar は悲しいことに、ほとんど非公開であり、ほとんど (公に) 文書化されていませんが、素晴らしいツールです。そして、NSToolBar が表示されているウィンドウで使用することを非常に意図しています... 図に進みます。

ビューにツールバーを追加した後 ビューにツールバーを追加した後

ツールバーはまだありますが非表示であり、インスペクタ バーはクールです (表示メニューまたはそれが呼び出すメソッドを介してのように、toggleToolBarShown: であり、NSResponder フレンドリー メッセージです)。 ツールバーはまだありますが非表示で、インスペクタ バーはクールです

したがって、これで多くのことを行うことはできません。その設計は文書化されていません。NSToolbar が移動する場所の下の疑似アクセサリ ビュー バーとして意図したとおりに機能します (これも調整できません)。

于 2014-08-27T15:36:22.317 に答える