Pull to refresh

Comments 24

Спасибо, что сохранили мне несколько часов рабочего времени!
Красота, спасибо вам за проделанную работу.
Не хотите выложить демку на github, например?
Да я уже думал, что наверно было бы полезно выложить и сам исходник проекта, как никак легче реально скачать и запустить, чем самому все проделывать. Плюс, там есть все же еще и моменты по созданию UIView разных, может быть некоторым разработчикам будет сразу сложно прописать все, или кто-то пользуется только interface builder'ом. Чуть позже создам проект на github.
Кто-то этим пользуется?
Все круто, но сложно назвать такой метод свежим.
Щас прийдет %companyname% и подаст на Вас в суд!
Судя по прыгающей надписи demo в видео, дам небольшой совет как записывать видео в мак ос: запускаем обычный QuickTime, File -> New screen Recording, выбираем область для записи и пишем. Из него же потом можно и опубликовать запись на youtube.
Спасибо, обязательно попробую, я всегда пользовался программкой Screen Flick 2.0 — очень удобная для снятия симулятора и настройки сжатия форматов хорошие. Но вот только они выпустили 2.03 которая является платная, а в демо-версии просто ужасный логотип на весь размер записи.
в tweetdeck вроде бы такая же технология реализована
Я раскрою тайную, но та же самая идея используется при переходе между экранами и даже в приложение вконткте. И т.д. и т.п.
ммм разве в приложении ВКонтакте можно с помощью свайпа менять окна?
На андройде точно есть.
извиняюсь за офтоп: кто-нибудь знает такое готовое решение для android? (каюсь — толком не искал)
Я не особо силен в программирование под android системы, но мне кажется, если на androide есть контрол, который позволяет листать 3 страницы вправо-влево, при этом получать координаты смещения этих страниц, то просто переписать этот код на java, заменить UIScrollView на этот контрол, UIView — на нужные компоненты, UILabel — на текстовую надпись.
Математику расчета и логику можно же оставить такую же.
про ViewPager не знал. видать действительно плохо искал.
премного благодарен
Метод changePage: разрывает мой мозг на десятки частей — его как будто писали 10 индусов :)))).

Да и вообще копи-пасты слишком много.

С другой стороны, если задачей было сделать рабочий прототип за полчаса, то вопросов нет, но для продакшена я бы все же код допилил.
На самом деле автор реализовал совет вот из этого раздела документации
Смотреть раздел «Configuring Subviews of a Paging Scroll View», где описывается на словах как использовать 3 view и т.д. И там же ссылка на PageControl пример, который немного проще, но тоже на эту тему. Причем у автора событие смены страницы «ловится» когда прокрутили 320px, а в примере Apple — когда проскроллилась ровно половина страницы. Вот код

// Switch the indicator when more than 50% of the previous/next page is visible
CGFloat pageWidth = scrollView.frame.size.width;
int page = floor((scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;

Я копировал движок google+ для iphone. Если очень внимательно потестить это приложение (то есть быстро скролить вбок, то видно как при быстрой прокрутке страница отскакивает об границы, что значит, что за ней нет еще UIView и contentSize не настроен вас туда пускать). А как только страница перевалила ровно 320px, создаются крайние UIView. Надеюсь люди смогут понять, что я конкретно имел ввиду. Отсюда и завязка логики не как в примере apple.
Код в принципе можно еще и сократить, как минимум вырезать копи-пасты по созданию UIView, и немного улучшить логику от лишних просчетов.

if (pointT.x > 0) {
               // двигаемся влево
               labelLeft.font = [UIFont fontWithName:@"Helvetica" size:14.f-fontT];
    }else if (pointT.x < 0) {
               // двигаемся вправо
               labelRight.font = [UIFont fontWithName:@"Helvetica" size:14.f-fontT];
    }


Как минимум тут.
Sign up to leave a comment.

Articles