問題タブ [nsview]
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.
objective-c - Macバンドルにフォントを埋め込む
私は自分が書いているプログラムを持っています。派手なフォントを使いたいです。フォントをバンドルに埋め込んで、そこから使用できますか?
私のコード...
objective-c - NSDocumentの印刷
ドキュメントを印刷しようとしています。ドキュメントは、NSImageRepsの配列、または複数のページを持つ単一のNSPDFImageRepです。NSPrintOperationクラスを使用してこれを印刷する方法を理解するのに問題があります。
NSPrintOperationは、印刷するためにNSViewを必要としているようです。計算された位置で各画像を手動でビューに追加してから、ページネーションを実行させる必要がありますか?それはココアの精神ではないようです...私が見逃しているテクニックはありますか?
cocoa - NSMenuItem のアウトレットである NSView の NSTableView と NSSearchField が機能しない
のアウトレットNSView
として設定されているがあります。ビューには(内に) とが含まれています。ユーザーが特定のをクリックすると、 が表示されます。Xcode (ビルドして実行) からアプリケーションを起動すると、コントロールは正常に動作しますが、Finder から (ユーザーがそうするように) 起動すると、コントロールは機能せず、フォーカスもありません。私のアプリケーションは. 誰でも私を助けることができますか?ありがとう。view:
NSMenuItem
NSTableView
NSScrollView
NSSearchField
NSMenu
NSStatusItem
LSUIElement
objective-c - カスタム NSView のサブビューは、スーパービュー内に収まるようにサイズを変更しています
サブビューを含むカスタム NSView があります。この問題を解決するために、最上位ビューは単にコンテナーとして機能し、ウィンドウ内に収まるように自動的にサイズ変更されます。そのサブビューは、ウィンドウの端から 10 ピクセルはめ込まれた長方形を描画します。ただし、下部は除きます。ウィンドウのサイズが変更されて長方形全体が表示されるまで、ウィンドウによって切り取られる必要があります。ただし、意図したとおりに動作せず、スーパービューの高さがそれよりも小さい場合、代わりに長方形の高さを縮小します。これを回避し、スーパービューが小さいときに適切な高さにとどまり、代わりにクリップされるようにするにはどうすればよいですか?
親ビューの実装コードは次のとおりです。
サブビューは次のとおりです。
cocoa - NSTextViewのadjustScrollメソッド
Cocoa テキスト エディターでタイプライター スクロールを実装しようとしています。スクロール ビューの垂直方向に挿入ポイントを中央に配置します。
NSClipView
この目的のために、メソッドを提供するためにサブクラス化しましscrollToPointWithoutConstraint
た。このメソッドは、 を呼び出さずに指定されたポイントまでドキュメントをスクロールしますconstrainScrollPoint
。短いドキュメントの場合、ドキュメントの境界を超えてスクロールしない限り、挿入ポイントを中央に配置できないため、これが必要です。
これまでのところ、これはかなり簡単なようで、私が望むことを行います。スクロールバーを使用してスクロールしようとすると、問題が発生します。スクロール ビューの一部にドキュメントの境界外の領域が含まれるように、ドキュメントの最後までスクロールした場合、少しずつ上にスクロールしようとすると、スクロール ビューがジャンプし、すぐにドキュメントの実際の境界に固定されます。
メソッドをサブクラス化NSTextView
してオーバーライドする必要があるかもしれないと考えています。adjustScroll
これが私の実際の質問の始まりです。にproposedVisibleRect
渡される はadjustScroll
、ドキュメントの実際の境界内に収まるように寸法が調整されています。proposedVisibleRect
呼び出される前に値を変更できる方法はありadjustScroll
ますか? あるいは、私はこれについて完全に間違っていますか?この時点で、どんな提案も大歓迎です。
objective-c - NSCollectionView での選択の強調表示
私は、NSCollectionView
マイナーではあるが重大な例外を 1 つ扱っています。コレクション内の選択された項目を取得して強調表示します。
私は Snow Leopard の前にこのすべての作業を行っていましたが、何かが変わったようで、指を置くことができないのでNSCollectionView
、基本的なテストに戻って、NSCollectionView を作成するための Apple のドキュメントに従いました。
コレクション ビューは、クイック スタート ガイドに従って正常に動作します。ただし、このガイドでは、 以外の選択については説明しません"There are such features as incorporating image views, setting objects as selectable or not selectable and changing colors if they are selected"
。
NSCollectionView
これを例として使用して、コントローラー キーを使用しselectionIndexes
てArray Controller を にバインドする次のステップに進みましたNSCollectionView
。NSCollectionView
また、IBで選択できるように設定しました。
NSCollectionView
ほとんどの Cocoa UI ビューとは異なり、デフォルトで選択されたハイライトがないように見えます。
したがって、私の問題は実際には関連する問題に帰着しますが、2 つの異なる質問があります。
- アイテムの選択をキャプチャするにはどうすればよいですか?
- アイテムのハイライトを表示するにはどうすればよいですか?
NSCollectionView
のプログラミング ガイドはほとんどなく、Google を介したほとんどの検索では、Snow Leopard より前の実装が表示されるか、別の XIB ファイルのビューが使用されているようです。
後者 (ビュー用の別の XIB ファイル) の場合、これが前提条件である理由がわかりません。そうしないと、Apple がコレクション ビュー アイテムと同じバンドルにビューを含めなかったのではないかと疑っていたでしょう。
これが「木を見て木が見えない」問題になることはわかっています。一瞬。
いつものように、ありとあらゆる助けが大歓迎です。
更新 1
わかりましたので、選択したアイテムを見つけることを考えましたが、まだハイライトを理解していません。選択した項目を理解することに興味がある場合 (Apple ガイドに従っていると仮定します):
コントローラー (私のテストケースでは App Delegate) に以下を追加しました:
In awakeFromNib
新しい方法
非 GC の割り当てを解除することを忘れないでください
まだハイライト解像度を探しています...
更新 2
Macatomy のアドバイスを受けましたが、まだ問題がありました。関連するクラスメソッドを投稿して、どこが間違っているかを確認してください。
MyView.h
MyView.m
MyCollectionViewItem.h
"MyCollectionViewItem.m*
cocoa - Automator のワークフロー ビューを模倣するには?
Automator のAMWorkflowView
.
私が達成したい基本的な機能:
- サブビューの配置
- 展開/折りたたみ状態でのサブビューの表示
- 複数選択
- ドラッグアンドドロップ
Cocoa に慣れるために、NSView
主にカスタム サブビューのコンテナーとして機能し、それらの配置と複数選択を処理するカスタムから始めました。サブビューも のサブクラスでありNSView
、ボタン、ラベル、ポップアップ メニューなど、さまざまな量のビュー自体が含まれているため、異なる高さを持つことができます。これは非常にうまく機能しましたが、先に進む前に、MVC パターンに従ってすべてが整頓されていることを確認したいと思います。
ビューコンテナの実装を容易にするクラスがすでにCocoaにあるのではないかと思いNSCollectionView
ます。
ただし、異なるサイズのビューを に表示する(簡単な) 方法はないようNSCollectionView
です。カスタムの実装を続行する必要がありますかNSView
(おそらく、NSArrayController
選択と並べ替えのサポートに を使用します)、またはより良い方法はありますか?
どんな助けでも大歓迎です
cocoa - NSViewで画像をリセットする
これは非常に単純な質問だと思いますが、私はプログラミングに慣れていないので、間違った方向に進んでいる可能性があります。
私はObjective-Cライティング端末アプリケーションの基本を理解しており、CocoaGUIの使用方法を自分で学んでいます。
簡単なボタンを使用して、乱数をテキストフィールドに繰り返し送信するメソッドに接続する 方法を理解してIBOutlet
います。IBAction
NSView
ファイルを追加し、それをInterface Builderのカスタムビューに接続し、アプリケーションの起動時にビュー内のランダムなポイントを通るパスを描画する 方法を理解しています。
(私はこのコードを- (void)drawRect:(NSRect)dirtyRect
、ファイルの作成時に宣言されるメソッド内に配置しています)。
私が理解できないように見えるのは、ボタンをアクションに接続して、ビューを「更新」する方法です。この場合、パスに接続された別のランダムなポイントのセットを再入力します。ドキュメントを見ると、どういうわけか使うべきだと思います
しかし、私がこれまで試したことは何もうまくいきませんでした。教えてください、私はここで何が欠けていますか?
objective-c - カスタム ビューに NSString を表示する
、NSTextField
、NSButton
およびNSView
. に何かを入力しNSTextfield
てボタンを押すと、テキストが に描画されますNSView
。これまでのところ、ビューを除いてすべてが接続され、機能しています。
ボタンを押すたびにテキストがビューに描画されるように、テキストとビューを接続するにはどうすればよいですか?
cocoa - Cocoa UI 要素が更新されない
NSView オブジェクト内でインスタンス化されたオブジェクトへのアウトレット接続を持ついくつかの Cocoa UI 要素があり、NSViewController によってそこに配置されます。これらの要素、明確なプログレス バーとテキスト ラベルは更新されていません。値が常に変化しているにもかかわらず、プログレス バーは死んでいて空です。テキスト ラベルは [textLabel setHidden:NO] によって再表示されません。テキスト ラベルは変更されません。その文字列。
私が知っていること:
- 値のバインドとコードでの設定に違いはありません。どちらにしても何も変わりません。
- コンセントの接続を確認しました。彼らはすべてそこにいます。
- [X displayIfNeeded] を試してみました。ここで、X は UI オブジェクト自体、含まれている NSView、およびメイン ウィンドウです。変わりはない。
- [progressBar setUsesThreadedAnimation:YES] 違いはありません。興味深いことに、プログラムの途中で progressBar を見ると、_threadedAnimation はまだ NO です。
- これらすべてのアウトレットを保持し、インポート操作を実行するオブジェクトは、NSViewController オブジェクトが所有する NSOperationQueue にあります。
ありがとう!
編集: 提案されているように、[self performSelectorOnMainThread:@selector(updateProgress:) withObject:[NSNumber numberWithInt:myObject] waitUntilDone:NO] を呼び出しました。(waitUntilDone:YES も試しました。) まだ更新されていません。デバッガーは updateProgress: がメイン スレッドで実行されていることを明確に示しているため、何が欠けているのかわかりません。