Как использовать метод тостов в функциях делегирования приложений с помощью swift


Привет, разрабатываю приложение, с помощью SWIFT в мое приложение я хочу использовать всплывающие сообщения и тосты деятельность, поэтому я перешел по ссылке: https://github.com/scalessec/Toast-Swift. Я могу использовать в метод контроллера он работает хорошо, но я не могу использовать в методы делегата приложения.

Мой код в делегате приложения:

func loadJsonData(){

    self.view.makeToastActivity(.center) 

}

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

3 2

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

})



}

Всякий раз, когда вы активируете предыдущую функцию, она должна отображать что-то подобное этому,

Введите описание изображения здесь