2011-02-05 1 views
2

Если вы используете приложение Instagram, в нем есть меню вкладки «Новости» внизу. Если бы мы получили какие-либо новости, он будет всплывать (например, рычание в mac) на 1-2 секунды для добавления информации о новых новостях, которые вы получили. Это определенно не UIActionSheet или UIAlertView.Как создать instagram как всплывающее оповещение в приложении

Кто-нибудь знает, как это кодировать?

ответ

1

Вы можете сделать следующее:

  1. Создать настраиваемое представление, которое может быть инициировано с текстом, который будет отображаться.
  2. В init-функции указанного вида создайте UILabel, установите текст, resizeToFit метку, а затем измените размер представления так, чтобы метка входила внутрь.
  3. Используйте два CGRects внутри представления, чтобы сохранить как фрейм, который будет иметь вид, когда он будет виден, так и когда он невидим.
  4. Установите кадр вида на невидимый кадр.
  5. создать метод, который будет скользить в представлении:

    [UIView animateWithDuration:1.0 
           delay:0.0 
          options:UIViewAnimationOptionBeginFromCurrentState | UIViewAnimationOptionCurveEaseOut 
           animations:^{ 
          self.frame = frameVisible; 
            } 
         completion:^(BOOL finished) { 
           [self onSlideOutFinished]; 
            }]; 
    
  6. создать метод, который будет выскользнуть вид (по истечении определенного времени, используя блок анимации с задержкой).

  7. Создайте метод внутри UIViewController, ответственный за отображение представления, которое создаст новые экземпляры вашего представления сообщения.

Это в основном это. То, что вы можете сделать, - это заставить UIViewController прослушивать NSNotifications, которые запускают представление сообщения. Вы также можете динамически позиционировать представления сообщений, сохраняя их в массиве и вычисляя видимый кадр новых представлений сообщений в соответствии с кадрами видимых в настоящее время и других видов сообщений.

Я надеюсь, что было несколько понятно;)

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