質問

iPhoto '11のものと同様に、nscollectionviewを構築したいと思います。セクションにいくつかの写真をグループ化し、セクションヘッダーも作成したいと思います。特定のセクションのセクションヘッダーは、そのセクションの最後の要素が表示されるまで常に表示されます。写真を見て、私が何を意味するのかを見ることができます。

編集:内容が画像ではないことを追加する必要があります。

enter image description here

前もって感謝します

役に立ちましたか?

解決

おそらく、Calayersを直接使用することを検討する必要があります。 NSCollectionView CoreAnimation IIRCからその魔法の大部分を取得し、その一部を複製する必要があるように見えます。または、ネストされたコレクションビューを使用してみることもできます。1つはグループを含むと、各グループには個々のアイテムの別のコレクションビューが含まれています。

いずれにせよ、あなたのビュー/レイヤー階層は同じになります。 1つの列のみ(幅全体にわたってグループが広がるため)のトップレベルコンテナがあり、その中の各アイテムには、アイテムの幅に基づいて任意の数の列があります。つまり、「グループ」コレクションビューアイテムは幅を埋めるために伸びますが、それらのグループ内の個々のアイテムは拡大しません。

RAWを使用することを選択した場合 CALayer アプローチして、見たいと思うでしょう CAConstraintLayoutManager. 。これが内部の魔法を提供するものです NSCollectionView. 。これに関する情報を探し始めるのに良い場所です 実用的なプログラマーからのビル・ダドニーのコアアニメーションブック. 。ビルは現在、Appleの公式プラットフォームエバンジェリストなので、彼がそこで何について話しているかを知っていると言っても安全だと思います。

全体として、ネストされたものを使用することをお勧めします NSCollectionView 最初にアプローチし、パフォーマンスが欠けているように見える場合のみ、または何らかの機能を獲得する問題がある場合にのみ、生のコアアニメーションにドロップダウンすることを検討してください。使用 NSCollectionView すべての最新を維持できます NSView- 設置されているので、それはより少ない作業になります。問題なくなった場合、あなたは家にいて乾燥しています。そうでない場合、あなたはあなたの心の内容に微調整できる何か他のものを試しています。

他のヒント

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top