Форум программистов, компьютерный форум CyberForum.ru

Objective-C

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
paparotnik
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 60
#1

Скроллинг текста с анимацией - Objective-C

16.01.2013, 14:43. Просмотров 1158. Ответов 13
Метки нет (Все метки)

Как реализовать такой скроллер, чтобы один из лейбл дойдя до верхней части экрана оставался вверху, а текст из другого лейбла скроллился дальше за пределы экрана, например как в инстаграмм, только вместо фотографий текст из второго лейбла
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2013, 14:43     Скроллинг текста с анимацией
Посмотрите здесь:

UIPageViewController + скроллинг вьюконтроллера - Objective-C
У меня имеется UIPageViewController, который объявляется вот так mainPVC = ...

Скроллинг текста в редакторе VB только у меня не работает или у всех? - Visual Basic
Тут подумал - а почему я не могу перемещать тест модуля в VB вращая колесико мыши? Ведь даже блокнот поддерживает эту удобную функцию. Или...

Кнопка с анимацией (Button с анимацией) - C#
Всем доброго времени суток! Давно интересно было как сделать такую вот кнопку. Кто знает как - расскажите пожалуйста. И еще как делать...

Работа с анимацией - PascalABC.NET
Помогите доработать программу: uses graphABC; var x,i:integer; procedure Octrov; begin setwindowwidth(800); ...

Трудность с анимацией - Программирование Android
у меня есть такая панель: < 0 0 0 0 > где 0 - кнопки которые движутся пальцем, либо: <> - перемещаает вправо или влево 0 на х...

Неполадки с анимацией - jQuery
Доброго времени суток! Добавляю на сайт простые jquery анимации. Хочу сделать так, чтобы они срабатывали сразу после загрузки страницы....

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vorona
Peace 2 all shining faces
668 / 530 / 45
Регистрация: 05.03.2010
Сообщений: 1,276
16.01.2013, 23:02     Скроллинг текста с анимацией #2
Вариант 1:
можно сделать два скролвью: один нормально скролится и лежит поверх второго, а второй следит за оффсетом первого и если офсет первого (или второго) больше или меньше необходимых границ, то оставляем прежний оффсет второго скроллера
таким образом мы имеем дело с первым(верхним) скроллером, а нижний (со второй лейбой), просто подстраивается под него

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

(второй наверное лаконичней)
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
17.01.2013, 14:42     Скроллинг текста с анимацией #3
Развитие варианта 2 от Vorona:
Реализуем наследник UIScrollView и перегружаем ему layoutSubviews примерно так:
Objective-C
1
2
3
4
[super layoutSubviews];
CGRect headerFrame = self.headerLabel.frame;
headerFrame.origin.y = self.contentOffset.y;
self.headerLabel.frame = headerFrame;
headerLabel - это тот лейбл, который должен наверху висеть.
paparotnik
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 60
21.01.2013, 14:51  [ТС]     Скроллинг текста с анимацией #4
Да вообщем-то так и сделал, как второй вариант, только слегка по-своему

C
1
2
3
4
5
6
7
8
9
10
11
12
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
    
    [UIView beginAnimations:nil context:nil];
        [UIView setAnimationDuration:0.5];
 
        self.title.frame=CGRectMake(39, 10, 96, 23);
    self.more.frame=CGRectMake(187, 5, 44, 44);
 
    [UIView commitAnimations];
 
}
more-кнопка, которая так же должна была двинуться с места

А теперь вопрос, как учесть скорость скроллинга, чтобы при слишком быстром текст не наезжал на лейбл
И еще один вопрос, какой метод отвечает за слежку за тем, что текст полностью прокручен обратно, дабы вернуть лейбл, который двигался, на обратное место
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
21.01.2013, 16:25     Скроллинг текста с анимацией #5
только слегка по-своему
А вот не нужно велосипед придумывать, Вам написали - переопределяйте layoutSubviews. А Вы выдумываете чтото...
Разочарую, но скорость Вам будет сложно учесть.
mobidevelop все верно написал, так что берите идею и пользуйтесь.
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
21.01.2013, 16:40     Скроллинг текста с анимацией #6
Ну, если совсем не хочется наследоваться от UIScrollView, а обойтись делегатом, то тогда код установки фреймов можно перенести в метод scrollViewDidScroll:. Но так же без анимации и прочих излишеств. Все само получится.

Кстати, beginAnimations нынче не в моде. Советую почитать про animateWithDuration:animations: и иже с ними. Код получится несколько нагляднее и компактнее. А при известной сноровке еще и более расширяемым.
paparotnik
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 60
21.01.2013, 17:33  [ТС]     Скроллинг текста с анимацией #7
Окей, спасибо за советы про анимацию и переопределение. Наследник скролл вью, всмысле надо класс создать новый и там переопределить его, а потом использовать как протокол?

Насчет скролла обратно нету никаких мыслей? но то бишь когда скроллер возвращается в обратное положение(прокручивается полностью вверх), какой метод следит за этим?
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
21.01.2013, 18:01     Скроллинг текста с анимацией #8
Цитата Сообщение от paparotnik Посмотреть сообщение
Наследник скролл вью, всмысле надо класс создать новый и там переопределить его, а потом использовать как протокол?
Изучайте ООП и базовые принципы.
paparotnik
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 60
21.01.2013, 18:03  [ТС]     Скроллинг текста с анимацией #9
Я представлю что такое наследник, я имею ввиду как именно переопределить, создавать новый класс или просто метод определить в контроллере
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
21.01.2013, 18:10     Скроллинг текста с анимацией #10
Цитата Сообщение от paparotnik Посмотреть сообщение
я имею ввиду как именно переопределить, создавать новый класс или просто метод определить в контроллере
Вот такого вопроса не было бы, если бы Вы представляли что такое наследник и перегрузка метода.
Вот честное пионерское.
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
21.01.2013, 18:16     Скроллинг текста с анимацией #11
Цитата Сообщение от paparotnik Посмотреть сообщение
Насчет скролла обратно нету никаких мыслей? но то бишь когда скроллер возвращается в обратное положение(прокручивается полностью вверх), какой метод следит за этим?
Уважаемый, а Вы пробовали мой совет в деле? Документацию по этому методу читали? Может быть, стОит попробовать/почитать? Глядишь и вопросов бы таких странных не возникло...
paparotnik
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 60
23.01.2013, 13:14  [ТС]     Скроллинг текста с анимацией #12
Цитата Сообщение от mobidevelop Посмотреть сообщение
Уважаемый, а Вы пробовали мой совет в деле? Документацию по этому методу читали? Может быть, стОит попробовать/почитать? Глядишь и вопросов бы таких странных не возникло...
Насколько я понял, ваш предложенный метод отслеживает ситуацию когда изменяются офсеты, каким образом он поможет в том, чтобы отследить ситуацию когда скролл вернулся на начальное положение??
Извиняюсь за возможную странность вопросов, но я еще новичок и только учусь, и мне интересно мнение опытных людей, документация не всегда расставляет все по полочкам так, как общение с шарящими людьми
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
23.01.2013, 13:39     Скроллинг текста с анимацией #13
А начальное положение - это не когда (scrollView.contentOffset.x == 0.0 && scrollView.contentOffset.y == 0.0) ?
Соответственно, это условие в указанном методе делегата всех спасет. Ну или если "начальное положение" - это что-то другое, то и цифири другие будут.
Фишка в том, что scrollViewDidScroll: вызывается сразу после того, как изменился contentOffset (в том числе и на "начальное положение"). В принципе, этой фразы должно быть достаточно. Дальше нужно включить либо мозг для "подумать", либо руки для "попробовать".
PS. Сам в таких случаях обычно предпочитаю последовательность:
1. руки (попробовать)
2. глаза (посмотреть что получилось)
3. мозг (подумать как адаптировать под свои нужды)
Задействуйте же хоть что-нибудь. Иначе так и останетесь "новичком" и ничему не научитесь. А "шарящим людям" интересно отвечать на интересные вопросы и помогать заинтересованным людям, а не раскладывать все по полочкам и уговаривать попробовать предложенные решения.
Так что смелее в бой. Потом расскажете - получилось или нет
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.01.2013, 16:13     Скроллинг текста с анимацией
Еще ссылки по теме:

Рисование с анимацией - JavaScript
Здравствуйте! Подскажите как можно нарисовать например автомобиль и анимировать его движения, желательно с хорошим примером

Конфликт с анимацией - C# WPF
Доброго времени суток, пишу приложение под windows phone 8 (не знаю правильно выбрал тему или нет) var temp = sender as Button; ...

Управление анимацией - C# WPF
Необходимо программно реализовать запуск различных анимаций из ресурсов. Вот примерный код: public partial class MainWindow :...

Управление 2D анимацией - Unity, Unity3D
Здравствуйте, помогите пожалуйста разобраться. Задача стоит в том, чтобы синхронизировать кадры анимации с другими событиями в игре. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
paparotnik
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 60
23.01.2013, 16:13  [ТС]     Скроллинг текста с анимацией #14
Да, все получилось! Спасибо
Yandex
Объявления
23.01.2013, 16:13     Скроллинг текста с анимацией
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru