問題タブ [nstableviewcell]
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 - カスタム NSTableViewCell
UITableViewで行うのと同じように、NSTableViewをカスタマイズします。データソースとデリゲートを実装します。コードでは、私はこれが好きです:
iOS で行うのと同じようにカスタムを行います。問題は、次のように左右の境界線の両方に線があることです。
セルビューの枠を変えてみましたがダメそうです。iOS ではセルをカスタマイズする正しい方法なので、Cocoa ではどこが間違っているのだろうかと思います。
どんな体でも私を助けることができますか?ありがとう。
cocoa - NSTableviewで選択した行のラベルの色
NSTableRowView
ビューベースでサブクラス化しNSTableView
て、選択色をデフォルトではなく明るい青に変更しました。
残念ながら、行を選択すると、カスタムセル内のラベルとテキストフィールドの色が白くなり、判読できなくなります。
選択時にテキストの色が変わるのを防ぐにはどうすればよいですか?
見つかった解決策:
私がしなければならなかった-setBackgroundStyle:
のは私のカスタムで実装することであり、そこで私が選択時に暗くしたいすべてのコントロールのオンをNSTableCellView
呼び出します。setBackgroundStyle:NSBackgroundStyleLight
NSCell
objective-c - NSCellの再描画の問題
いくつかのオブジェクトを(を使用して)NSCell
ビューに直接描画し、 NSViewのセレクターを使用してインスタンスを描画するサブクラスを作成しています。drawInRect:fromRect:operation:fraction:respectFlipped:hints:
NSButton
addSubview:
最初の方法を使用して描画されたオブジェクトはすべて正しく描画されますが、NSButton
正しく描画するのに問題があります。問題は、私のNSButton
インスタンスが適切な場所に描画されますが、何度も描画されることです。
私はこれをインターネットでしばらく調べており、キャッシュの使用を提案する人もいますが、これが効率的かどうかはわかりません。(forループを使用してボタンを含む配列に移動すると、大量のデータを表示するため、間違いなくスクロールが遅くなります...)
これをどのように行いますか?私は間違った木を吠えていますか?
これは関連するコードです:
cocoa - プログラムでNSViewにNSTableViewを追加する
プログラムでNSTableViewをNSViewに追加するのに少し問題があります。このビューは、NSSplitViewの最初のビューです。ビューにNSButtonを追加しても問題ないので、ポインターは正しく設定されています。また、テーブルビューのデリゲートメソッドとデータソースメソッドは期待どおりに機能しています。インターフェイスビルダーを使用してテーブルビューをビューに追加すると、機能します。しかし、私はIBを使いたくありません。これをコードで実行できるようにしたいと思います。これが私が現在使用しているコードです。
NSButtonオブジェクトが画面に表示されますが、ボタンをコメントアウトするとテーブルビューが表示されません。私は何を間違っているのですか。助けてくれてありがとう。
objective-c - カスタム NSTableCellView ラベルを選択してもテキストの色が変わらない
NSTableCellView
私は3つのテキストフィールドを持つカスタムを持っています.1つは付属していて、2つは自分で作成しました. 問題は次のとおりです。
行をクリックしても、テキストフィールドのテキストの色は変わりません。グーグルで見つけたコードを実装しようとしましたが、うまくいきません。私のカスタム NSTableCellView コードは次のとおりです。
ユーザーがラベルをクリックしたときにラベルのテキストの色を白くするにはどうすればよいですか?
objective-c - NSTableView ビュー ベースの 'Image & Text Table Cell View' がカスタム NSImageView サブクラスを認識しない
- まず、
NSTableView
ビュー ベースに変更し、自分の を作成しましIBOutlet
たNSTableView
。 - それから私はそれにドラッグし
Image & Text Table Cell View
ました。 - その後、そのセルビュー
NSImageView
内にあるものをカスタムNSImageView
サブクラス「PVAsyncImageView」に変更しました。 - .h にインポートしました。
そして、私はこのコードを持っています:
しかし、認識していませんdownloadImageFromURL
(私のNSImageView
サブクラスのメソッド)。Xcode でエラーが発生します。
何かご意見は?
objective-c - NSTableViewのように見えるiOSを作成するにはどうすればよいですか?
NSTableView
iOSの「感触」を備えた見栄えの良いものを作りたいと思っています。私が作成するものはすべてNSTableView
、90年代後半のもののように見え、私の意見では恐ろしいと感じています。
Macではおそらく望ましくないiOの動作がいくつかあることは知っていますが、それは小さくて本当に特定のテーブルであり、iOの機能の少なくとも一部が必要な列が1つだけです...
さまざまな要素(画像、タイトル、サブタイトル)を使用して、高さ44ピクセルのを作成NSCustomCell
し始めました。の見た目をNSViews
再現するようなものですが、すべての動きのパターン(弾力性など)を自分で再現することはできません。これを達成するのに役立つクラス/ライブラリはありますか?または、誰かが以前にこれに取り組んだことがあり、彼が行ったいくつかの経験を共有することができますか?UITableView
編集:「いくつかの機能」とは、「勢い」、「弾力性」、および「プルしてリフレッシュ」機能に似たものを意味します。
macos - NStableView ココア
NStableView
tableView Controller を設定しましたが、正常に動作しています。ユーザーがテーブルビューの特定のセルにカーソルを合わせるたびにデータ (テーブルセルに表示) を取得するたびに、コンソールにデータの表示が開始される理由を知りたいだけです。
これ- (NSCell *)tableView:(NSTableView *)tableView dataCellForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
が毎回呼び出され、インストゥルメントを使用してスタックトレースされ、このメソッドが大量のメモリを消費していることがわかりました。
このメソッドが毎回データを描画するのを止める方法はありますか?
macos - 不均一な NSTableCellView フォーカス リング
ビューベースの NSTableView を使用してコンテンツを表示する小さなアプリに取り組んでいます。各セルのコンテンツとして NSTableCellView サブクラスを使用していますが、選択したときに NSTableCellView がひどく見えるという問題があります。まず、左側、上部、および右側がすべて不均一に選択されているように見えます (右側が上部および左側よりも厚いことに注意してください)。さらに、フォーカス リングの下部の線はどのセルにも表示されません。これがどのように見えるかの画像へのリンクです:
フォーカス リングをいじってみましたが、役に立ちませんでした。これについて助けてくれてありがとう!
cocoa - NSTableView セル ビューでの NSWindow とテキスト スムージング
OS X アプリを作成していますが、別のウィンドウでのフォント スムージングに問題があります。
テキストを入力するテキストフィールドと、あなたが書いた内容に応じて提案のリストがポップアップ表示される提案ウィンドウがあります。NSTableView
これらの提案を表示し、「ポップアップ」ウィンドウとして表示するためにビューセルベースを使用しSFBPopoverWindowController
ています(同じ効果を持つ他のクラスを試しました)。行が最初に描画されたときはきれいに見えますが、それらを選択した後 (キーボードまたはマウス)、フォントの太さが変わります。太字の設定ではなく、フォントのスムージング方法を変更するような視覚的なものです。
「音符」はここで選択されたセルです
さらに奇妙なのは、ウィンドウを 3 回非表示にして表示した後、その時点からすべてが正常に機能することです。
繰り返しますが、「音符」が選択されたセルです。
NSTableRowView
選択はクラスとそのメソッドを上書きすることによって行われますdrawSelectionInRect:
が、カスタム クラス内のすべてを描画しようとしましNSTableCellView
たが、役に立ちませんでした。テキストは標準NSTextField
です。何も変更されていません。
SFBPopoverWindow (およびそのコントローラー) は一度作成され、 styleMask NSBorderlessWindowMask
、 backing NSBackingStoreBuffered
、 defer を に設定して再利用されYES
ます。私が行った唯一の変更は、SFBPopoverWindowController
キーウィンドウになるウィンドウをオフにすることでしたが、何も変わりません。