Как создать боковую панель, как твиттер для OSX? Предложения о выборе развития - PullRequest
3 голосов
/ 22 декабря 2011

Мне любопытно узнать, как создать боковую панель, используемую в твиттере и многих других приложениях Twitter App

То, о чем я прошу, не о графике, но я хотел бы знать, какаялучший способ создать структуру, позволяющую переключаться между различными разделами.

Мне не нравится обращаться за помощью, не начав с мнения, поэтому это мое:

  1. Общая структура представления будет создана с NSSplitView

  2. Мне нужен класс generic Model, управляющий разделами и получающий указатель на текущий.Здесь я добавил бы информацию об изображении, используемом для любого раздела и т. Д. (Что-то вроде пользовательского UITabBarController для iOS.

  3. Left view из split View будет подключен кgeneric Model и сможет представить свой раздел и получить текущий. Нажатие кнопки попросит generic Model изменить текущий раздел и загрузить содержимое в Right view (некоторые сомневаются в том, что модель используется таким образом: P, вероятно, не лучший)

  4. Right view загружает другой контроллер представления в соответствии с запросом left View (у меня могут возникнуть сомнения относительно того, как это сделать!)

Я на правильном пути? Как бы вы построили структуру, подобную структуре Twitter?

(Не по теме: я бы очень признателенисправление моего ужасного английского, чтобы этот вопрос подходил всем пользователям)

Ответы [ 2 ]

3 голосов
/ 23 мая 2012

Вот что вам нужно https://github.com/erndev/EDSidebar

1 голос
/ 22 декабря 2011

Это в значительной степени то, как я бы это сделал, хотя то, что вы называете объектом "универсальной модели", я бы назвал контроллером (потому что он вписывается в часть контроллера MVC).

Правильный вид будетПредставление с вкладками со стилем, установленным на «tabless», так что вы не получаете кнопки выбора вверху, и отдельные представления в представлении с вкладками будут выбираться контроллером с помощью -selectTabViewItemWithIdentifier:

Вот так ясделал бы это в любом случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...