Swift - Представление нескольких предупреждений одновременно
Я делаю приложение и хочу создать собственное оповещение. Я нашел следующий способ сделать это:
- Создайте контроллер представления в раскадровке и установите его идентификатор.
- Установите его фон, чтобы очистить.
- Создайте в нем представление и установите все кнопки и метки.
Вызовите его с другого контроллера следующим образом:
let alertViewController = self.storyboard.instantiateViewControllerWithIdentifier("alertViewController") as! AlertViewController self.presentViewController(alertViewController, animated: true, completion: nil)
Но я хочу представить несколько предупреждений одновременно, например:
Я искал это, но нашел только способы отображения второго оповещения при ответе на первое оповещение, но не одновременно. Как я могу добиться того, что показано на прикрепленном изображении?
2 ответа
Похоже, что это модальный ViewController с UIVisualEffectView для фона, поэтому размытие фона. Затем необходимо создать массив сообщений с предупреждениями, для каждого сообщения вы добавляете одно представление предупреждений с этим сообщением в контроллер представления. Каждое представление сообщения должно иметь ограничения ширины, константы высоты, centerX для суперпредставления и centerY для суперпредставления. Затем вы можете установить преобразование каждого представления, чтобы уменьшить его и переместить вверх на основе его индекса в массиве сообщений. Что-то вроде yOffset = (messages.count - index) * интервал и масштаб = exp(0,95, (messages.count - index)). Сообщение в начале имеет матрицу идентичности для его преобразования. Когда вы отклоняете сообщения, анимируйте изменения преобразования, чтобы они все увеличивались и опускались.
Существует ли максимальное количество одновременно отображаемых предупреждений? Если да, сколько это?
Я бы предложил сделать это не используя UIViewController
но проще: используя UIView
, И вы можете показать их все на вашем текущем ViewController.
Как создать кастом UIView
: ссылка.
Надеюсь, поможет.