問題タブ [nstablecellview]
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 - カスタマイズされた NSTableCellView の IBOutlet が null です
がありNSTableView
、そのデータ ソースとデリゲートが設定されています。セルをカスタマイズしたいので、ライブラリからビューベースのセル ビューをドラッグしました。次に、特別なセルを完全に制御するために、ServiceCell
から継承するクラスを作成しました。NSTableCellView
その後、nib ファイルからセル クラスにコントロール ドラッグして、セル内IBOutlet
の画像とテキスト フィールドのプロパティを作成します。
NSTableView のデリゲート メソッドでは、次のように記述しました。
ご覧のとおり、テキスト フィールドは null です。しかしmakeViewWithIdentifier:
、Interface Builder でセルを見つけて、アプリ ウィンドウにセルを表示しました。値を設定できないのはなぜですか?
objective-c - 編集プロセス中にビューベースのテーブルビューの外観を変更するには?
Mac OS X 用の最初のアプリを開発しています。これにより、テーブルビューのコンテンツを編集でき、Things アプリでセルがどのように編集されるかの動作を再現したいと考えています。次のように動作するはずです。セルをダブルクリックすると、セルの内容の高度な編集が開始されます。問題は、ビューベースのテーブルビューにこれを実装する方法がわからないことです。
私はすでに Mac 用の Table View Programming Guide を読み、UWDC'11 のセッション 120 でビュー ベースの tableview のカスタマイズについて見ましたが、あまり役に立ちませんでした。
何らかの方法で編集イベントを追跡し、編集開始直後にセルのプロトタイプを標準のものからより高度なものに変更する必要があると思います。サブクラス化とセルのプロトタイプの両方を使用して、セルの外観を変更する方法を知っています。しかし、編集プロセス中にセルのビューを変更する方法がわかりません。
とにかく、標準の NSTableView を使用してこの種のカスタム コントロールを作成するのは正しいことですか?
このアプリでは Core Data、NSArrayController、および Cocoa Bindings を使用していることに注意してください。
cocoa - NSTableView: セル内のテキストのサイズを正しく変更する方法
NSTableView (ビュー ベース モード) のフォント サイズを大きくして、アプリの何らかのプレゼンテーションで読みやすくする必要があります。
フォントの変更は、次の範囲内で正常に機能します- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
。
また、rowHeight を- (CGFloat) tableView:(NSTableView *)tableView heightOfRow:(NSInteger)row
で更新します。これも機能します。
(正しい高さを決定するもっとエレガントな方法があるかもしれません)
さて、ここに私の問題があります。フォントが変更されているのがわかります。また、rowHeight が変更されていることもわかります (別の行の色を使用しているため、見やすくなっています)。しかし、セル内のテキストは元の高さ (おそらく 17 ピクセル) に切り詰められているように見えるため、フォント サイズを大きくすると、書き込みの上部のみが表示され、次に空白が表示され、次の行の上部が再び表示されます。 .
私にとっては、一部のビューが NSTableViewCell を古い高さにクリップしているように見えます...私はすでにフレームと境界を異なる値に設定して遊んでいましたが、これは何も変更しませんでした:
私はここでちょっと迷っています...単純なものが欠けていると思いますが、どこを見ればいいのかわかりません...
ありがとう、ジャン
macos - テーブルセルビューでコンセントを接続するには?
ビューベースのテーブルを使用しており、セル ビュー内の要素のアウトレットを作成したいと考えています。コンセントを接続できません...常にnil
です。
具体的にはNSProgressIndicator
、表のセルに があり、コードで操作したいと考えています。
これが私がこれまでに持っているものです:
のサブクラスを作成NSTableView
し、対応するアウトレット プロパティを設定しました。
そして、ペン先にカスタムクラスを設定しました。既存のものはドロップダウン経由NSTableCellView
で置き換えられます。MyTableCellView
この時点で、いくつかの観察:
Ctrlプログレス インジケータを+クリック アンド ドラッグしてこのアウトレットに接続すると、表示されません。
同様に、Ctrlアシスタント エディターを使用してプログレス インジケーターを +クリックしてドラッグしようとすると、バインディングを介してのみプロパティに接続できます。これは有効なアウトレットとして認識されません。
ただし、このアウトレットはサイドバーに表示され、存在しないという警告が表示されます。
利用されていることが分かり
MyTableCellView
ます。ブレークポイント オンはawakeFromNib
これを確認し、 であることを確認し_myProgressIndicator
ますnil
。
これはサンドボックス プロジェクトであり、私が説明した以上のものはほとんどありません。
SO、コードからこの進行状況インジケーターにアクセスするにはどうすればよいですか?
cocoa - NSTableView のセルとして使用されている NSView の自動レイアウト
NSTableView
Thingsがレイアウトを行う方法と同様
のものを構築しようとしています。
彼らがやっていることはNSTableView
、カスタム描画されたを使用していると思いますNSTableCell
-または、おそらくそれはNSSegmentedControl
. NSTableCell
ルートを下ろうとしています。をサブクラス化し、カスタム セルを描画しようとしましたNSTableCellView
(これはすべてテスト用の init メソッドにあります)。
かなり自明のようですが、実際には機能しません。制約を満たすことができないというエラーが発生します。サブクラス内で autolayout を使用することはできませんNSTableCellView
か?
cocoa - ビューベースの NSTableView 内の自動レイアウト
行を作成する NSTableView (ビューベース) があります。
この行はいくつかのサブビューを作成し、いくつかの制約を割り当てます。
実際に制約を編集しようとすると、楽しみが始まります..viewWithBackgroundは、背景を設定する空のNSViewです。制約が |[viewWithBackground]| の場合 水平方向と垂直方向の両方で、期待される結果が得られます-緑色の行。これを最も基本的な |-[viewWithBackground]-| に変更すると、明らかに予期しない結果が得られます。赤い行が表示され、緑色のビューの兆候はありません!
ここで実行する必要がある追加の手順はありますか? 私の目標は、viewWithBackground を実際には少し小さいビューにして、行間の「ギャップ」とテーブル ビューの端からの間隔を偽造することです。
cocoa - NSTextField と画像の配置
NSTextField と NSImageView を揃えようとしています。現在のコードは以下のとおりです。NSTextFieldCell のサブクラス化 (SO でここにあります)、テキスト フィールドのフレームのいじり、制約の微調整など、さまざまなアプローチを試しましたが、取得できません。下のスクリーンショットのように..
また、ラベルにフォントを適用しない場合、配置が期待どおりに機能することも発見しました。画像と垂直方向に配置されます。
したがって、問題は、a) 世界でフォントを適用すると位置合わせが台無しになる理由、および b) これを回避するにはどうすればよいか、理想的には実行時にフォントを変更した場合に適応する動的な方法で..