問題タブ [nsbuttoncell]
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.
cocoa - NSTableViewDataSourceプロトコルを使用して、単一のテーブルビュー列にチェックボックスとテキストフィールドを含める方法は?
NSTableViewDataSourceプロトコルを使用して、単一のテーブルビュー列にチェックボックスとテキストフィールド(セクション見出し用)を含めるにはどうすればよいですか?
私の要件は、Cell Based TableView を使用することです。
cocoa - 列に NSButtonCell があるテーブルビューで、誰が NSButtonCell(s) を作成しますか?
TableView は IB で作成され、チェックボックスのある列を 1 つだけ持つことが望ましいです。チェックボックスを作成する 1 つの方法は、IB を使用して NSButtonCell を列にドラッグし、NSTableViewDataSource プロトコルの実装に準拠することです。
したがって、クラスオブジェクトがTableViewの列へのデータソースとして機能し、列に各行のチェックボックスなどのオブジェクトが含まれている場合、クラスはチェックボックスのオン/オフ状態データのみを提供しますか、それとも提供しますか?チェックボックスオブジェクト?
関連する質問は次のとおりです。
- TableView は NSButtonCells を作成して含んでいますか?
- 1 に対する答えが「はい」の場合、NSButtonCell のプロパティ (タイトルなど) をどのように設定/変更できますか?
- TableView が NSButtonCells を作成して維持するのではなく、データソース クラスでそれらを作成できますか? つまり、IB を使用して NSButtonCell を列にドラッグする代わりに、awakeFromNIB などのメソッドで NSButtonCells を追加できますか?
- 特定の列にセル オブジェクトの種類を混在させる方法はありますか。たとえば、column1row1 にテキスト見出しを配置し、column1row2 にチェックボックスを配置できますか?
ありがとう。
objective-c - NSPushOnPushOffButton が「押し込まれた」ままにならない
プログラムでビューにボタンを追加しようとしていますが、もう一度クリックするまで、クリックしたときに「プッシュイン」したままにしたいと思います。私が読んだことから、これに使用するボタンはNSPushOnPushOffButton
. これについてのAppleの説明は次のとおりです。
最初のクリックでは、ボタンが境界線で囲まれている場合は両方が強調表示され、ボタンが「押し込まれ」ます。もう一度クリックすると、通常の状態に戻ります。このオプションは、Interface Builder のボタン インスペクターでは「プッシュ オン プッシュ オフ」と呼ばれます。
私のプログラムでは機能しなかったので、SSCCE を作成しました。これを以下に含めます。私の問題は、クリックしたときにボタンが留まらず、通常のボタンのように飛び出すことです。このボタンがどのように機能するかについて何かが欠けているのか、それとも単に間違って実装しているだけなのかはわかりません (プログラムで UI を実行しようとしたのはこれが初めてです)。仕事なので、NSToggleButton
何か特別なことがない限りNSPushOnPushOffButton
、どこで間違ったのかわかりません。誰かがより良い解決策を提案したり、私が間違っていた場所を説明したりできれば、それは素晴らしいことです. ありがとう!
objective-c - NSToolbar を使用する NSWindowController の NSButtonCell の背景色を設定できません
windowDidLoad で以下を使用して、ほとんどの xib ウィンドウで NSButtonCells の背景を正常に変更しました。
何らかの理由で、Preferences Window Controller (選択された ToolbarItem に応じてスワップアウトされる NSViews を備えたツールバーを含む) でこれを実行しようとすると、どのビューのボタンの背景色も変更されません。 .
コードをステップ実行し、コード内のボタンに (IBOutlet を介して) 実際に参照があることを確認してから、メソッドを呼び出して変更する前と後で backgroundColor を確認しました。確かに変更されていますが、何らかの理由で、そのウィンドウのボタンのどれも、背景が変更されたことを反映していません。
NSViews がウィンドウの内外でスワップされているため、windowDidLoad で機能しない可能性がある理由はありますか? 背景色を設定するコードを、ビューを入れ替えるメソッドに移動しようとしましたが、それでもうまくいきませんでした。
任意のアイデア/提案をいただければ幸いです。ありがとう
アップデート
irc の誰かが、NSButtonCell を KVO で観察して、元に戻されているかどうかを確認することを提案しました。
これを設定すると、色を設定すると変化が見られますが、それだけです。再び変更されることはないようです....それでも、画面に正しい背景色でボタンが表示されません。
ログ:
更新 2
タブ付きボタンの色の動作とタブなしの両方を示す簡単なサンプル プロジェクトをコーディングしました。こちらのドロップボックスで期間限定でホストされます: https://www.dropbox.com/s/nrl71p4yk6iyp4w/TestButtonColor.zip
objective-c - 無効にすると、画像付きの NSButton が表示されない
画像のみを使用し、テキストを使用しない NSButton を作成しました。次のコードを使用してボタンを作成します。コードは、含まれているウィンドウの から呼び出されますawakeFromNib
。
ボタンを呼び出さないと、[closeButton setEnabled:NO]
描画されて完全に機能します。
が呼び出された場合[closeButton setEnabled:NO]
、ボタンは非表示になっているか、描画されていません。
ドキュメントで何らかの形で欠落している無効状態の画像を指定する方法はありますか?
誰かが私が間違っているかもしれない手がかりを持っていますか?
objective-c - NSTableView 内の NSButtonCell チェックボックスは常に NSOffState を取得しています。なんで?
こんにちは皆さん、私は Cocoa プログラミングの初心者で、NSButtonCell (NSTableView のセルにドラッグされた UI のチェック ボックス セル) をチェックしているかどうかに関係なく、常に NSOffState を取得しています。それぞれの UI と次のコードに接続された @property IBOutlet NSButtonCell *mySelection があります。
NSOnState を実行することはありません。取得する唯一の NSLog メッセージは、オフ状態です。誰か助けてくれませんか?ありがとう!!