Как использовать метод тостов в функциях делегирования приложений с помощью swift
Привет, разрабатываю приложение, с помощью SWIFT в мое приложение я хочу использовать всплывающие сообщения и тосты деятельность, поэтому я перешел по ссылке: https://github.com/scalessec/Toast-Swift. Я могу использовать в метод контроллера он работает хорошо, но я не могу использовать в методы делегата приложения.
Мой код в делегате приложения:
func loadJsonData(){
self.view.makeToastActivity(.center)
}
Вышеупомянутый код не работает, поскольку делегат приложения не имеет представления члена...пожалуйста, помогите мне использовать это в моем делегате приложения.
3 ответа:
Попробуйте это, пожалуйста, через это вы можете получить верхний контроллер вашего приложения, а затем вы можете добавить тосты на верхнем контроллере
let win:UIWindow = UIApplication.shared.delegate!.window!! win.currentViewController()?.view
AppDelegate предназначен для обработки таких вещей, как инициализация приложения, закрытие приложения, уведомления и т. д.
То, что вы хотите сделать, это:
- перейдите к раскадровке (названной Main.раскадровка)
- Добавьте ViewController в раскадровку (перетащите его из нижнего правого угла )
- Создайте Swift-файл и назовите его FirstView, например, и добавьте следующий код
Первый взгляд.swift
import UIKit class FirstView: UIViewController { override func viewDidLoad() { self.view.makeToastActivity(.center); } }
- вернитесь к раскадровке
- щелчок на ViewController, который вы только что создали
Посмотрите на верхнюю правую часть экрана, и там будет шесть маленьких иконок. Щелкните третью слева и введите FirstView в первом поле с именем "класс" (см. прилагаемое изображение).Примечание: убедитесь, что вы сохранили свой FirstView.swift файл или это не будет работать.
Как насчет индивидуального тоста вместо этого? Тот, который гораздо более заманчив, соответствует вашим потребностям и не требует библиотек или сложных последствий?
Теперь давайте попробуем следующий бит кода
func sailAwayLabelAction(){ // here creating a rectangle with certain dimensions you can easily manipulate let rect = CGRect(origin: CGPoint(x: self.view.frame.size.width/2 - 150,y :self.view.frame.size.height-100), size: CGSize(width: 300, height: 35)) //here creating and manipulating the attributes of your text, i.e color,alignment etc.. let toastLabel = UILabel(frame: rect) toastLabel.backgroundColor = UIColor.orange toastLabel.textColor = UIColor.white toastLabel.textAlignment = NSTextAlignment.center; toastLabel.text = "This is my customized Toast !" toastLabel.layer.cornerRadius = 10; toastLabel.clipsToBounds = true //first pop the toast into our view self.view.addSubview(toastLabel) //then after 1 sec + 1 sec delay, animate the entire toastLabel out. UIView.animate(withDuration: 1, delay: 1, usingSpringWithDamping: 1, initialSpringVelocity: 1, options: .curveEaseOut, animations: { toastLabel.alpha = 0.0 }) }
Всякий раз, когда вы активируете предыдущую функцию, она должна отображать что-то подобное этому,