問題タブ [nstabview]

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 投票する
1 に答える
406 参照

objective-c - NSTabViewの「空のビュー」を実装します

私はJUEmptyViewNSView (すべてのサブビューが削除されたときにビューの中央にカスタムの中央揃えのプレースホルダーを表示するカスタムCocoaコントロール/サブクラス)を試してきました。

そこで、同じことをサブクラスにする(そして最初のアイテムクラスを再設定する)NSTabViewだけで、同じことを実装してみました。NSTabViewNSTabView

通常、これ機能します。プレースホルダーが表示されます(最後のタブが閉じられたとき)。ただし、いくつかの問題がまだ存在します:

  • 背景はタブアイテムの背景のままです(すべて閉じられていると思います)
  • ウィンドウのサイズを変更すると(NSTabView左から右、上から下に伸びる場合)、ビューは適切に再描画できないように見えます。

例 :

ここに画像の説明を入力してください

フルコード:

インターフェース

実装

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

cocoa - NSTabView の非アクティブなタブのウィンドウのサイズ変更とビューの更新

複数のタブを持つ NSTabView があり、それぞれに NSScrollView が含まれています。scollviews では、autolayout と制約を使用してサイズ変更されたカスタム ビューを動的に配置します。

ここで、カスタム ビューを例に追加するとします。tab1 を開き、このタブをアクティブにしてウィンドウのサイズを変更すると、すべてが正常に機能し、自動レイアウトは文句を言いません。

一方、カスタム ビューを tab1 に追加すると、別のタブに切り替えて、ウィンドウのサイズを変更し、次のメッセージで autolayout が壊れて tab1 に戻ります。

私の質問は、アクティブなタブでは自動レイアウトが正常に機能し、非アクティブなタブでは機能するのはなぜですか?


更新: バグだと確信しています。自動レイアウト モードで IB を使用するだけで可能な限り単純なプログラムを作成しました (コードはまったくありません)。

  • タブ ビューをドラッグします (先頭、末尾、上下の制約が自動的に取得されます)

  • タブの1つにスクロールビューをドラッグします(自動的に先頭、末尾、上下の制約を取得します)

  • スクロールビューにテキストフィールドをドラッグします(いくつかの自動制約を取得します)が、ウィンドウでテキストフィールドのサイズを変更できるように、先頭、末尾、上部、および下部の制約を設定します

したがって、スクロールビュー=>テキストフィールドのあるタブが選択されている場合、ウィンドウのサイズを変更できます-問題ありません。ただし、他のタブをアクティブにすると、ウィンドウのサイズを変更してから、スクロール ビューでタブをアクティブにすると、以前に報告したのと同様のメッセージが自動レイアウトに表示されます。実際、先行制約と後続制約のみが設定されている場合も同じことが起こります。

誰かがそれを再現しようとすることができますか?

0 投票する
0 に答える
83 参照

xcode - タブ ビューがインターフェイス ビルダーとコンパイル済みアプリに表示されない

Interface Builder でタブ ビューにコンポーネントを追加していたところ、突然すべてが消えてしまいました。今残っているのは、空の「カスタム ビュー」だけです。ただし、タブ要素自体はまだサイドバーに存在します。そして、それをカスタム ビューの外にドラッグすると、正常に表示されます。しかし、ドラッグして戻すと、再び消えます。これの原因は何ですか?

そのために、一般的にタブビューに多くの問題があり、多くの場合、タブのコンテンツがインターフェイスビルダーで消えてしまい、最初に別のタブボタンをクリックしてから、作業していたタブに戻って作成する必要がありますそれは再び表示されます。

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

objective-c - NSTableView と NSTabView で異なるエンティティをバインドする方法は?

NSArrayControllerエンティティを処理する がありGeometryShapeます。 GeometryShape持っています: name, type, color. LineShapeは で、、、、 がありGeometryShapeます。 は で、、、があります。beginPositionXbeginPositionYendPositionXendPositionYCircleShapeGeometryShapepositionXpositionYradius

に挿入されたすべてのNSTableView形状が に表示されます。各列は& キー名NSArrayControllerでバインドされています。arrangedObjects

線の形状を選択すると、そのプロパティが [線] タブ (既定のタブ) に表示されます。

円の形状を選択すると、[円] タブが選択され、円のプロパティが表示されるようになります。

...そして、選択した形状の種類に応じて、対応するタブが選択され、対応する形状のプロパティが表示されます。

この優れた:)モデルをどのように達成できますか?

ここに画像の説明を入力

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

xcode - コンテナ ビューのプロパティの変更

たとえば、3 つのタブを持つ tabView があり、各 tabViewItems には webView が含まれています。document.title各タブのタイトルを、各 webView がレンダリングしている HTML ページのタイトルとして設定したいと考えています。

基本的に、それぞれNSTabViewItemWebview, viaがあり[tabViewItem setView:webView];ます。これでdidFinishLoadForFrame、webviews のデリゲートで、. を実行して HTML ページのタイトルを取得できますNSString *title = [sender stringByEvaluatingJavaScriptFromString:@"document.title"]。私はオブジェクトにしかアクセスできないので、私の質問は、送信者を含むsenderものをどのように取得できるかです。つまり、s の中に何を入れればよいかNSTabViewItem < >

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

macos - オーバーハング サブビューが 2 回作成される例外 MAC

ウィンドウに 2 つのタブ ビュー アイテムを作成している MAC でこの例外が発生しています。各タブにテーブル ビューがあります。私はたくさん検索しましたが、魂を見ることができませんでしたか? 誰でも私を助けることができますか?