2011-01-20 8 views
0

iOSリストビューのグループヘッダーは、ユーザーがスクロールしたときに次のグループヘッダーによってオフスクリーンにプッシュされるまで、ビューの上部に固執します。これは、OS XのCocoaでは標準的な動作ではないようです。この動作をアウトラインビューで使用することは可能ですか?iOSで使用されるフローティンググループヘッダーをデスクトップで使用できますか?

答えて

4

はい! Noodlesoftの後ろにいる人は、そうするために素敵なカテゴリを書いていました。 Sticky Section Headersをご覧ください。

+0

ありがとう!私はこれを試して、それが私の場合にうまくいくかどうかを見てみましょう。 –

+0

+1これはかなりうまくいきますが、試してみたときに必要なことをするのに苦労しました。しかし、それはショットの価値がある! :) –

+0

我々は機能的なヘッダー行、アクションボタンとグループを崩壊させる能力を持っているので、それは簡単ではありませんが、うまくいけば、これは正しい軌道に乗ります。 –

1

あなたが言ったように、それは標準的な動作として利用できません。自分でコードを書く必要があります。

ただし、この動作を使用してに対して強くをお勧めします。 iOS上では標準的なので、環境と完全に一致します。しかし、それはMacでは標準ではないし、それは奇妙に見えるだろう。あなたがそれを移植したいからといって、iOSの動作を移植しないでください。絶対に必要な場合を除いて、OS Xの標準的なインターフェース動作に従ってください。

+0

背後にある理由は、iOSで使用されている理由と同じです。長いリストでは、この問題を緩和するフローティンググループヘッダーを持つ親のグループの概念を失う可能性があります。 –

+1

旧式ですが、NSBrowserはOS Xのこの目的に適しています。つまり、OS Xの画面サイズはiOSの画面サイズよりはるかに大きいので、すべてを単一の垂直リストに入れるべきではありません。使用可能な水平方向をよく使うべきです。一般的に私はOS Xで使用されているiOSのUIオブジェクトが好きではありません.Apple自体がそれをやっているので、それについて不平を言っても意味がありません。とにかく... – Yuji

+0

この特定の実装では、入力Yujiをありがとう、水平方向の制限は厳しいが垂直方向はほとんどありませんが、私はあなたに同意しますが、この特定のユースケースではユーザにとって理想的なレイアウトです。 –

3

ライオン以降では、NSTableViewsetFloatsGroupRowsを使用できます。

[myTableView setFloatsGroupRows:YES]; 

the docsを参照してください。

関連する問題