1001 *
Синопсис
Я хочу создать пользовательский элемент управления, который отображает события в календаре.
Вот черновик:
Концепция
- Нижний левый блок имеет вертикальную прокрутку. Нижний правый блок прокручивается в обоих направлениях.
- Возможно перемещать представления событий вокруг. Если они достигают границ во время перетаскивания вида, автопрокрутки в этом направлении.
- Область прокрутки ограничена в соответствии с самым ранним и последним событием в базе данных или определенным максимумом. Но если пользователь продолжает прокручивать, область прокрутки соответственно увеличивается и сворачивается, если пользователь прокручивает назад и не создал новое событие.
- Эта кнопка «Июль 2011» внизу выполняет функцию скроллера. Если пользователь тянет его за пределы области прокрутки, он соответственно увеличивается.
- Название месяца в заголовке всегда остается на этой позиции, пока не наступит следующий месяц, поэтому это длинная ячейка, которая охватывает плавающие заголовки дневных ячеек месяца.
- Строки и столбцы заголовка всегда видны.
Вопрос
Так как я лишь немного знаком с возможностями классов управления Cappuccino или Cocoa: где я могу напрямую использовать классы Cappuccino или Cocoa, где целесообразно создавать подклассы элементов управления Cappuccino / Cocoa и где я должен писать пользовательские управление с нуля?
Редактировать: Мои мысли
Я думаю, разумно разделить элемент управления с помощью SplitView с вертикальным разделителем. Я мог бы использовать TableView для левого столбца заголовка в левом подпредставлении. И я мог синхронизировать вертикальную прокрутку с тем, что происходит с правой стороны.
Но я не очень уверен насчет вида с правой стороны. Я думал о TableView, но на самом деле мне нужны только ячейки в качестве фоновой сетки. Таким образом, я думаю, было бы трудно иметь две строки заголовка и реализовать желаемое поведение прокрутки. Таким образом, лучший способ, вероятно, - создать совершенно новый пользовательский вид. Но опять же вопрос: где разумно подкласс капучино соотв. Элементы управления Какао и где я должен написать собственные элементы управления с нуля?