問題タブ [nssplitviewcontroller]
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.
xcode - NSSplitView でデリゲートを変更できません
メインウィンドウ(対応するMainWindowController
クラスを含む)とメインビュー(NSSplitViewController
対応するクラスを含む)を含むストーリーボードがありますMainViewController
。NSSplitView
特定の機能について、ビューに含まれるデリゲートをMainWindowController
クラスに設定しようとしています。
IB リンケージがない場合、デリゲートはアプリケーションの起動時NSSplitView
にすでに設定されています。MainViewController
への参照を取得できますがMainWindowController
、デリゲートをウィンドウ コントローラー ( を実装する) に設定しようとするとNSSplitViewDelegate
、次のようになります。
これは、デリゲートを に設定しようとした場合にも発生しnil
ます。
デリゲートの設定に制限があるかどうか、IB を使用してビュー内のアイテムのデリゲートを別のコントローラーに設定する方法があるかどうか、なぜそうなる可能性があるのか 誰かが知っていますか?
ありがとう。
macos - NSSplitViewController により、含まれているビューがウィンドウの隅に描画される
Cocoa を使用して小さな Finder クローンを作成しようとしています。ソース リスト テーブル ビュー (サイドバーとして機能するため) と標準テーブル ビューをNSSplitView
によって制御される内に配置していNSSplitViewController
ます。残念ながら、これを実行すると、標準のテーブル ビューの白い背景がウィンドウの右下隅に描画され、角が丸くなくなります。
を使用しないことで問題を回避できNSSplitViewController
ます。標準の nib ファイルまたはストーリーボードの両方で、目的の結果を得ることができます。
でも…どうしても使いたいNSSplitViewController
。これを防ぐ方法はありますか?
swift - NSToolbarFlexibleSpaceItem は、Swift の NSSplitViewItem に対する制約です
ほとんどすべての macOS 公式アプリには、このツールバーの機能があり、NSToolbarItem
柔軟なスペースが表示に制約されていNSSplitViewItem
ます。NSToolbar には 3 つの異なるセクションがあるのではないかと最初に考えました。しかし、それは 1 つのツールバーにすぎません。Notes アプリを開いて、ツールバーをカスタマイズできます。
- 最初のフレキシブル スペースが検出され、最初の分割ビュー アイテムと共に移動されます。
- 2 番目のフレキシブル スペースが検出され、2 番目の分割アイテムと共に移動されます。
- 残りは通常の柔軟なスペースになります。
- フレキシブル スペースが 2 つしかない場合、2 つ目は通常のフレキシブル スペースとして機能します。同じことが1つまたは柔軟なスペースにも当てはまります。
これが、Apple がフレキシブル スペース アイテムを構成する方法だと思います。
このJWToolbarAdaptiveSpaceItemを見つけましたが、取り外し可能であり、ノート アプリのようにフレキシブル スペース アイテムに置き換えることはできません。
これについて尋ねられた別のstackoverflowの質問(今は見つけられませんでした)がありますが、答えはNSToolbarではない偽のビューとボタンを追加することです。
したがって、これを達成する方法を知っている人はいますか?
(私の英語でごめんなさい)
swift - NSSplitViewItem の折りたたみは、splitViewDidResizeSubviews を呼び出さない
関数を継承しNSSplitViewController
てオーバーライドするクラスがありますsplitViewDidResizeSubviews
。
NSSplitViewItem
内部で折りたたみを呼び出すとNSSplitViewController
、目にNSSplitViewItem
見えるサイズ変更が表示されますが、splitViewDidResizeSubviews
関数は呼び出されません。
ウィンドウのサイズを変更すると、splitViewDidResizeSubviews
関数が呼び出されるので、正しく実装されていることがわかります。
折りたたみ時に関数が呼び出されることを期待できますsplitViewDidResizeSubviews
か?もしそうなら、何が間違っているのでしょうか?
autolayout - NSTabView 内の NSSplitView のレイアウトの問題 - 制約の欠落
私の問題を説明するために、非常に単純なダミー プロジェクトを作成しました (10.12.1 で Xcode 8.1 を使用)。2 つのタブを持つ NSTabViewController を含むストーリーボードがあり、そのうちの 1 つは NSSplitViewController です。すべてが完全に機能しているように見えますが、実行時に次の警告が表示されます。
"TabSplitViewDummy[3615:89221] [レイアウト] <_NSSplitViewItemViewWrapper: 0x6000001a0d20> の不足している制約が検出されました。サイズと原点を完全に定義するのに十分な制約がないため、配置できません。不足している制約を追加するか、translatesAutoresizingMaskIntoConstraints=YES と制約を設定しますこのビューが macOS 10.12 以降で手動でレイアウトされている場合、オーバーライドから [スーパー レイアウト] を呼び出さないことを選択できます。DETECTED_MISSING_CONSTRAINTS にブレークポイントを設定してデバッグします。このエラーは一度だけログに記録されます。"
translatesAutoresizingMaskIntoConstraints=YES をすべてのビューに設定し、制約を設定しようとしましたが、何も機能しませんでした。これまでのところ、私は3つのことしか知りませんでした:
- 起動時に分割ビューが非表示になるようにタブの順序を変更しても、警告メッセージは表示されません
- タブ ビューを削除し、ウィンドウの分割ビュー コンテンツを作成すると、警告メッセージは表示されません。
- DETECTED_MISSING_CONSTRAINTS にシンボリック ブレーク ポイントを設定すると、6 回ヒットするため、制約が 6 つ不足していると推測されます。
私はすでにこれで何日も失っています。ここで何が欠けていますか?
助けてくれてありがとう!!!
cocoa - 分割ビュー コントローラのメモリ管理
私はosxアプリケーションで単純な分割ビューコントローラーを使用しています...分割項目0はメニューに使用され、2番目の項目はコンテンツに使用されます(slackアプリケーションのように)。
メモリリークが発生するため、最適化が必要です...メニュー項目がクリックされたときに行うことは次のとおりです。
macos - Swift を使用して NSSplitViewController ペインの幅を設定する
Xcode 8.2.1、スウィフト 3.0.2、macOS 10.12
3 つのペインを持つNSSplitViewController
があります ( に注意してくださいNS
。これはMacアプリ用です)。
一番左のペインの幅を常に固定し、サイズを変更できないように設定しようとしています。私は次のことを試しました:
- 何らかの理由で、ペインの子ビューのストーリーボード エディターで自動レイアウト制約を使用できません。
- 設定
constrainMaxCoordinate
してもconstrainMinCoordinate
動かなかった。
最近、他の誰かがこれを機能させましたか?このトピックに関する記事はたくさんありますが、それらのツールセットは数年前のものであり、それらの提案はどれも私にとって役に立ちませんでした. ありがとう!