問題タブ [nstextview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
496 参照

objective-c - Cocoa テキスト入力システムで Core Data を使用するにはどうすればよいですか?

趣味のココアプログラマーです。すべての通常の場所を見回してきましたが、これは比較的説明不足のようです:

  • ちょっと変なこと書いてます。これは、デスクトップ パブリッシング アプリよりもはるかにシンプルですが、それに似ています。任意に配置された、キャンバス上の編集可能なテキスト ボックスが必要です。

  • これはドキュメントベースで、Core Data を使用したいと思っています。

現在、ココアのテキスト処理システムは、NSTextStorage、NSLayoutManager、NSTextContainer、そして最後に NSTextView の 4 つのクラス構造を扱っているようです。私はこれらを調べて、それらの使用方法を知っています。いくつかのプロトタイプを作成しており、単純なアプリで機能します。

永続化すると問題が発生します。Cocoa Bindings などを使用して、管理対象オブジェクト コンテキストに NSTextStorage (= 実際のテキスト) の内容を格納する方法がわかりません。

これらのオブジェクトで、-words、-setWords: などのメソッドのペアをオーバーライドすることを検討しました。これにより、Core Data に格納する方法を知っている文字列に単語をリンクできます。ただし、テキストに影響を与えるメソッドはすべてオーバーライドする必要があります。

洞察に感謝します。

0 投票する
2 に答える
2014 参照

cocoa - NSTextView のフォントの設定

デフォルトのフォントを設定するために NSTextView をサブクラス化しています。

PTNfoEditField.h

PTNfoEditField.m

ただし、これは機能せず、別の方法で行う方法がわかりません。誰でも私を助けることができますか?ありがとう。

0 投票する
1 に答える
3814 参照

objective-c - NSTextView を使用して NSTextField を偽造して、素敵な色を付けますか?

NSTextField の選択したテキストの背景色を変更しようとしています (暗い UI があり、選択したテキストの背景はテキスト自体とほとんど同じです) が、これを変更できるのは NSTextView だけのようです。

そのため、NSTextView を使用して NSTextField を偽造しようとしていますが、テキストのスクロールを同じように機能させることはできません。

最も近いのは次のコードです。

これは、テキストがテキスト フィールドよりも長い場合はスクロールできないことを除けば、ほとんど問題なく機能します。

これを達成する方法について何か考えはありますか?

前もって感謝します

編集:Joshua Nozziが以下に提案するソリューション

ジョシュアのおかげで、これは私が探していたものに対する素晴らしい解決策です:

NSTextView で偽装するのではなく、ファーストレスポンダーになったときに選択したテキストの色を変更するのは単なる NSTextField です。

編集:テキストフィールドでEnterキーを押すと、上記のコードはデフォルトの選択色に戻ります。これを回避する方法があります。

0 投票する
4 に答える
3661 参照

objective-c - NSData を使用して NSTextView にテキストを設定する

アプリケーションの前回の実行から保存した NSData のインスタンスがあります。このデータを使用して NSTextView のテキストを設定したいと考えています。それはRTFであり、これを行う方法がわかりません。アイデアや提案はありますか?これは、Interface Builder ではなく、コードで行う必要があります。

ありがとう

0 投票する
5 に答える
9305 参照

cocoa - NSTextViewのワードラップを無効にする方法は?

NSTextViewは、デフォルトでワードラップを実行します。これを無効にするにはどうすればよいですか?JSONコードビューアを作成しているので、これを無効にする必要があります。

0 投票する
3 に答える
3615 参照

objective-c - NSTextView改行の挿入

改行を挿入する必要があるNSTextViewがあります。コードは次のようになります。

誰かがこれを行う方法を知っていますか?

0 投票する
1 に答える
276 参照

cocoa - ドラッグ可能なテキスト要素を使用してビューを作成する

たとえば、OmniGraffleのようなブレーンストーミングアプリケーションの一種で、テキストビューを含み、ドラッグできる要素を使用してビューを作成しようとしています。(また、は矢印で接続可能である必要がありますが、それは(まだ)問題ではありません)

宿題をしたり、グーグルで検索したり、カカオに関する本を読んだりしましたが、似たような例はないようです。私もココアに慣れていないので、ここでは少し無力です。

私が確信していることは、要素を作成できるカスタムビューが必要だということです。これまで私が試したことは次のとおりです。

  • まず、要素を作成するためにウィンドウにサブウィンドウを追加するための構文を検索しました。サブウィンドウは、私が想像したように、自動的に移動可能になり、前面に表示されます。
    問題:あなたの経験豊富なCocoaプログラマーはおそらく驚かないので、私はそのようなものについて何も見つけられなかったことに驚いていました-これは何かのようです、それはCocoaで意図されていないだけですか?!

  • 次に、タイトルバーの描画(ユーザーがクリックして要素をドラッグできる)と。のカスタムビューを含むサブビューを作成することを考えましたNSTextView
    問題:

    • ウィンドウに数十のサブビューを作成するのは非常に遅いので(または、すべてのサブビューが常に同じクラスのインスタンスになるため、この場合はそれほど悪くないのでしょうか)、それほど賢くないことを読みました。
    • また、nibファイルまたはxibファイルからサブビューをロードする方法がわかりません。viewControllerが必要ですか?それとも、それは数十のインスタンスの問題をさらに悪化させるでしょうか?
    • そしてAppleは、サブビューをオーバーラップさせないように言っています(わかりました、それはそれほど重要ではありませんが、OmniGroupの人たちがOmniGraffleをどのように作ったのか本当に不思議です...)

  • そのため、周囲のカスタムビューでタイトルバーの描画を行い、プログラムでテキストビューを作成したいと思いました(私が理解しているように、テキスト「ビュー」は実際にはビューではなく、NSCellからその機能を取得してすべてを削減しますビューでの努力?)。
    問題:

    • それでも、ウィンドウ全体を埋めないテキストビューを作成できなかったために失敗しました(ウィンドウ全体が無視されているように見えますかinitWithFrame:[[NSScrollView alloc] initWithFrame: aRect] それとも間違っていますか?)。
    • また、最終的なアプリケーションの各要素にいくつかのボタンがあるはずです。各要素のnibファイルからのサブビューを使用すると、それを達成するのが簡単になると思いますか?

さて、何も機能せず、読むほど問題が発生するように見えるので、かなり混乱してイライラしています。
どうすればそのようなプログラムを実現できますか?誰かが私を正しい方向に押してくれませんか?

0 投票する
1 に答える
1842 参照

cocoa - NSTextField の代わりに NSTextView の TextDidChange または DidEndEditing をキャッチする

NSTextView には、通知 DidEndEditing と TextDidChange がないようです (両方とも NSTextField に存在します)。NSTextView から取得できる同様の機能はありますか? そうでない場合、ユーザーが NsTextView のテキストをいつ編集したかを知る方法はありませんか?

0 投票する
2 に答える
761 参照

cocoa - カスタム属性で NSAttributedString を検索して削除しますか? 方法?

将来削除したい NSTextView にプレースホルダー文字列、スペース文字があります。私の戦略は、NSAttributedString にカスタム属性を割り当て、それを[NSTextView string]削除する際に検索を実行することです。これまでのところ、これを行うための良い方法は見つかりませんでした[NSTextStorage attributeRuns]。誰でもこれについて良い考えがありますか?

ありがとう!

0 投票する
1 に答える
293 参照

cocoa - NSTextView を NSMutableArray に保存して読み込む

私の質問は次のとおりです。

私は持っていて、NSTextView2つのことをしたい:

  • 最初にこのテキストビューを に保存しNSMutableArray、X、Y 位置をこの配列に割り当てます。

  • 次に、この textview を から取得NSMutableArrayし、配列に保存したときに設定した位置に表示します。

誰でもそのようなことをどうするか考えていますか?