以前にこの質問をしたことがありますが、解決策にあまり満足していません。
、または にを表示NSTableView
したい。
これで、ウィンドウのサイズがテーブル ビューに合わせて調整されます。NSPopover
NSWindow
Xcode と同じように:
これは Auto Layout を使用すると非常に簡単です。内部ビューをスーパー ビューにピン留めするだけです。
私の問題は、テーブル ビューの最適な高さがわからないことです。次のコードは、使用可能なすべての行を列挙しますが、テーブル ビューには区切り記号やテーブル ヘッドなどの他の要素があるため、正しい値を返しません。
- (CGFloat)heightOfAllRows:(NSTableView *)tableView {
CGFloat __block height;
[tableView enumerateAvailableRowViewsUsingBlock:^(NSTableRowView *rowView, NSInteger row) {
// tried it with this one
height += rowView.frame.size.height;
// and this one
// height += [self tableView:nil heightOfRow:row];
}];
return height;
}
1. 質問
どうすればこれを修正できますか? テーブル ビューの必要な高さを正しく計算するにはどうすればよいですか。
2. 質問
このコードはどこで実行すればよいですか?
テーブルビューがそれ自体を処理する必要があることは間違いないため、これをコントローラーに実装したくありません。
また、役立つデリゲート メソッドも見つかりませんでした。
だから私はあなたがサブクラス化できれば最善だと思っNSTableView
た.
だから私の質問2、どこに実装するのですか?
動機
間違いなく賞金に値する