Как реализовать загружающуюся анимацию при навигации в приложении для iPhone?

  • Ни один : файл не включен в выходную группу проекта и не компилируется в процессе сборки. Примером является текстовый файл, который содержит документацию, такую как файл Readme.

  • Компиляция : файл компилируется в вывод сборки. Эта установка используется для файлов кода.

  • Содержание : Позволяет Вам получать файл (в том же каталоге как блок) как поток с помощью Приложения. GetContentStream (URI). Для этого метода для работы этому нужен пользовательский атрибут AssemblyAssociatedContentFile, который любезно добавляет Visual Studio, когда Вы отмечаете файл как "Содержание"

  • Встроенный ресурс : Встраивает файл в эксклюзивный ресурс манифеста сборки.

  • Ресурс (только WPF) : Встраивает файл в общее (всеми файлами в блоке с подобной установкой) ресурс манифеста сборки по имени AppName.g.resources.

  • Страница (только WPF) : Используемый для компиляции xaml файл в baml. Эти baml тогда встраивается с той же техникой как Resource (т.е. доступный как 'AppName.g.resources)

  • ApplicationDefinition (только WPF) : Mark файл XAML/class, который определяет Ваше приложение. Вы определяете код - позади с x:Class = "Пространство имен. ClassName" и набор форма/страница запуска с StartupUri = "Window1.xaml"

  • SplashScreen (только WPF) : изображение, которое отмечено как SplashScreen , показывают автоматически, когда загрузки приложения WPF, и затем исчезают

  • DesignData: Компиляции XAML viewmodels так, чтобы usercontrols мог быть предварительно просмотрен с демонстрационными данными в Visual Studio (типы насмешки использования)

  • DesignDataWithDesignTimeCreatableTypes: Компиляции XAML viewmodels так, чтобы usercontrols мог быть предварительно просмотрен с демонстрационными данными в Visual Studio (использует фактические типы)

  • EntityDeploy: (Платформа Объекта) : раньше развертывал артефакты Платформы Объекта

  • CodeAnalysisDictionary: XML-файл, содержащий пользовательский словарь слова для правила написания

6
задан Christer-André Larsen 16 July 2009 в 11:26
поделиться

7 ответов

Вы можете добавить UIActivityIndicatorView к любому представлению, которое «загружается»:

CGRect mainBounds = [[UIScreen mainScreen] bounds];
CGRect indicatorBounds = CGRectMake(mainBounds.size.width / 2 - 12,
    mainBounds.size.height / 2 - 12, 24, 24);
UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc]
    initWithFrame:indicatorBounds]];
indicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhite;
[indicator startAnimating];
[yourLoadingView addSubview:indicator];
3
ответ дан 8 December 2019 в 02:22
поделиться

Думаю, это зависит от того, что загружается? Вы ждете ответа от сервера? В этом случае я обычно помещаю в свое представление вращающееся колесо (UIActivityIndicatorView), в котором установлен флажок «Скрыть, когда не анимировать» (есть сообщение, чтобы установить это также программно). Затем, когда данные получены с сервера, я просто вызываю stopAnimating в представлении UIActivityIndicator, и он скроется. Затем вы можете показать все, что вам нужно.

1
ответ дан 8 December 2019 в 02:22
поделиться

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

UIActivityIndicatorView  *av = [[[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray] autorelease];
av.frame=CGRectMake(145, 160, 25, 25);
av.tag  = 1;
[yourView addSubview:av];
[av startAnimating];

удалив его

UIActivityIndicatorView *tmpimg = (UIActivityIndicatorView *)[yourView viewWithTag:1];
[tmpimg removeFromSuperview];

надеюсь, что это поможет ...

26
ответ дан 8 December 2019 в 02:22
поделиться

Из эстетических соображений обратите внимание, что UIActivityIndicatorView поставляется с несколькими встроенными стилями, из которых вы можете выбирать. В приведенных выше примерах кода используются параметры «Серый» и «Белый», но в документации Apple описано еще несколько. Вы можете установить стиль, используя:

-initWithActivityIndicatorStyle:(UIActivityIndicatorViewStyle)

или задав свойство объекта activityViewIndicatorStyle .

1
ответ дан 8 December 2019 в 02:22
поделиться

Ага! Я только что наткнулся на самый удобный класс: MBProgressHUD . Попробуйте.

3
ответ дан 8 December 2019 в 02:22
поделиться

Вам необходимо реализовать новый поток для работы, которая должна выполняться между началом и остановкой анимации. См. Следующее:
http://discussions.apple.com/thread.jspa?threadID=1531358&start=0&tstart=0

1
ответ дан 8 December 2019 в 02:22
поделиться

Проблема будет в том, что индикатор активности не будет отображаться, потому что он будет отображаться только при следующем проходе цикла выполнения - к этому времени вы будете сделали все что нужно!

Самый простой способ сделать это - переместить код для вызова следующего представления в его собственный метод, а затем (построив UIActivityIndicator согласно другим сообщениям здесь) сделать

 
 [self.myactivityindicator startAnimating]; 
 [self performSelector: @selector (myCodeToCallTheView) withObject: nil afterDelay: 0]; 
 

это дает достаточно шансов для индикатор, который нужно нарисовать перед запуском вашего кода, чтобы нарисовать представление. Конечно, как только ваше новое представление появится, оно перезапишет селектор.

4
ответ дан 8 December 2019 в 02:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: