Интерфейс Twitter для iPad - Как это работает? - PullRequest
6 голосов
/ 29 сентября 2010

Twitter для iPad представил новый способ просмотра контента.Кто-нибудь догадывается, как управляются эти раздвижные панели?Это один большой UIScrollView с кучей UITableViews в нем?Или кучка UIViewControllers скользящих друг на друга?Или что-то другое?Какая у вас ставка?

Ответы [ 5 ]

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

Используя мой проект FRLayeredNavigationController на GitHub, вы можете легко создавать пользовательские интерфейсы, очень похожие на приложение Twitter iPad.Об этом также есть сообщение в блоге .

Если вам интересно, как это работает, просто посмотрите на код, он с открытым исходным кодом ;-).По сути, он использует композицию UIViewController, представленную в iOS 5. Он управляет несколькими слоями, которые вы предоставляете.Перемещение слоев инициируется UIPanGestureRecognizer и некоторой логикой, когда перемещать какой слой.Он выглядит и чувствует себя очень хорошо благодаря хорошей поддержке iOS-анимации. API

FRLayeredNavigationController очень похож на UINavigationController, поэтому его легко использовать :-).Примеры из моего EuroCopaInfo проекта, в котором используется FRLayeredNavigationController:

В файле StadiumsViewController.m:

[self.layeredNavigationController pushViewController:wvc inFrontOf:self maximumWidth:YES animated:YES];

С AppDelegate.m:

InfoCategoriesViewController *icvc = [[InfoCategoriesViewController alloc] init];
FRLayeredNavigationController *lnc = [[FRLayeredNavigationController alloc] initWithRootViewController:icvc configuration:^(FRLayeredNavigationItem *item) {
    item.nextItemDistance = 49;
}];
self.window.rootViewController = lnc;
[self.window makeKeyAndVisible];

Также смотрите демонстрационные видео / скриншоты:

3 голосов
/ 29 сентября 2010

Я думаю, что здесь дело не в используемых типах представлений, а в их расположении и анимации. Когда различные панели вставляются и выходят, я думаю, что они используют что-то вроде CAKeyframeAnimations, которые активируются посредством реализации UIGestureRecognizer.

Для вертикальной прокрутки они используют UIScrollView, но для горизонтальной прокрутки моя ставка выше.

2 голосов
/ 12 мая 2011

Вот хороший пример получения твиттер-подобного интерфейса для приложения ipad.

Проверьте эту ссылку , это действительно круто !!!!!

Это обеспечивает:

  • каскадные виды
  • поддержка ориентации
  • эффект отскока
0 голосов
/ 19 января 2011

Мое предположение: это UIScrollView для горизонтального перемещения, когда UIView s за основным видом анимированы вручную, в зависимости от того, где находится главный вид. UIScrollViewDelegate предоставляет множество методов, необходимых для анимации фона UIView s.

0 голосов
/ 29 сентября 2010

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

Оригинальный твит

Это имеет смысл, это просто UINavigationController, и способ перемещения вверх и вниз по стеку меняется. Вместо того, чтобы показывать только 1 UIViewController за раз, теперь можно отобразить несколько. Хотя я не могу помочь с точной реализацией.

...