2013-05-16 2 views
2

У меня есть набор кнопок, отображаемых в центре UIViewController. Чтобы заставить кнопки появляться/появляться на экране один за другим при загрузке представления, я пытаюсь вычислить загрузку UIButtons после того, как мой UIViewController загружает или, альтернативно, загружает секунду друг за другом, чтобы они быстро загружались, но что при загрузке представления появляется визуальный анимированный щелчок кнопки.Загрузить UIButton после загрузки UIView

Есть ли у кого-нибудь пример этого с UIButton?

+2

Что вы ищете, вероятно, это метод «viewWillAppear» на UIViewController – bengoesboom

+2

Вы всегда можете увеличить альфу. начинаться с 0.0f и заканчиваться на 1.0f. Это даст эффект затухания и начнет невидимым. – ApolloSoftware

ответ

2

Первоначально, когда контроллер вида получает вызов viewDidLoad, вы хотите настроить свои кнопки, чтобы они имели нуль alpha.

Затем в viewDidAppear: вы можете настроить набор анимаций, чтобы показать кнопки с помощью:

[UIView animateWithDuration:<#(NSTimeInterval)#> 
         delay:<#(NSTimeInterval)#> 
        options:<#(UIViewAnimationOptions)#> 
       animations:<#^(void)animations#> 
       completion:<#^(BOOL finished)completion#>] 

Использование delay в пространстве вне экрана каждой кнопки и animations блока, чтобы указать, как появляются кнопки. В блоке анимации вы можете установить alpha на 1, чтобы отобразить кнопки. Вы также можете добавить шкалу transform к кнопке, чтобы она менялась в размере (для эффекта pop).

+0

Это решение перестало работать с iOS7. – motionpotion

2

Вы, вероятно, хотите что-то вроде этого:

- (void)viewWillA pear:(BOOL)animated { 
    [super viewWillAppear:animated]; 
    _button.alpha = 0; 
    UIView animateWithDuration:1 animations:^{ 
     _button.alpha = 1; 
    }]; 
} 
2

Вы всегда можете увеличить значение альфа. начинаться с 0.0f и заканчиваться на 1.0f. Это даст эффект затухания и начнет невидимым. не

   yourButton.alpha = 0.0f; 
      [yourView addSubview:yourButton]; 

      [UIView animateWithDuration:1.0 
        delay:0.0 
       options: UIViewAnimationCurveEaseInOut 
      animations:^{yourButton.alpha = 1.0;} 
      completion:nil]; 
+1

Я использовал части всех ответов. Спасибо всем за вашу щедрую помощь. – motionpotion

1

Применение NSTimer следующий метод в методе viewDidApper

[NSTimer scheduledTimerWithTimeInterval: 1,0 Цель: На себя селектор: @selector (targetMethod :) UserInfo: ноль повторов: NO];

// write targetMethod: этот метод вызывается через каждые 1 сек. напишите код, чтобы добавить кнопку в качестве подзаголовка на экран в этом методе, или если вы можете контролировать видимость кнопок, тогда сделать кнопку видимой в targetMethod. когда все загруженные кнопки полностью используют метод недействительности NSTimer, чтобы остановить вызов метода targetMethod.

Смежные вопросы