Как использовать NSTimer для изменения / исчезновения альфа-изображения? - PullRequest
1 голос
/ 08 июля 2011

Я программирую приложение для iphone в Objective C в Xcode. Я пытаюсь сделать так, чтобы заставка при запуске моего приложения длилась примерно 2 или 3 секунды, я просмотрел весь Интернет, но все учебники о том, как это сделать, устарели и не работали с текущие версии Xcode и Interface Builder. Поэтому мне было интересно, как бы я использовал NSTimer для публикации изображения в течение примерно 3 секунд, а затем изменил альфа изображения на 0. Кстати, мне интересно, как это сделать при использовании предустановки Window Based Application. Любая помощь будет принята с благодарностью, и пример, вероятно, также поможет.

Ответы [ 2 ]

3 голосов
/ 08 июля 2011

Apple не любит видя заставки. Но если вы настаиваете, вы пытались просто установить Default.png изображение? Просто перетащите изображение с именем Default.png в папку «Ресурсы» вашего приложения, и ваш заставка будет отображаться при запуске.

Информация: Реальная цель Default.png состоит в том, чтобы пользовательский интерфейс отображался в «почти готовом» состоянии до того, как приложение действительно будет готово, и именно для этого Apple намерена использовать это, но приложения не отказывайтесь от использования этой функции для своих заставок.

1 голос
/ 08 июля 2011

@ Дэвид Шифер прав. Для получения дополнительной информации см. Apple Docs (прокрутите вниз до Изображения запуска приложения).

Но если вы хотите реализовать что-то независимо, вы можете сделать то, что предложено, и использовать стандартный механизм. Тогда в

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

вы можете добавить одно и то же изображение (ваш всплеск) в просмотр изображений, а затем использовать анимационные блоки, подобные этому.

[UIView animateWithDuration:0.5
                      delay:3
                    options:UIViewAnimationCurveLinear
                 animations:^{
                    myImageView.alpha = 0;
                 }
                 completion:^(BOOL finished){
                    [myImageView removeFromSuperview];
                 }];

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

- (void)applicationDidBecomeActive:(UIApplication *)application
...