Swift - отклик в каждом представлении? - PullRequest
0 голосов
/ 31 мая 2018

У меня небольшой вопрос: возможно ли как-то (без раскадровки) создать небольшое представление в верхней части экрана (если есть панель навигации, затем под ним), которое отображает ошибки / ответы, если это необходимо?

Не создавая представления на каждом отдельном viewController, который я сделал, просто по коду?

Или есть какое-нибудь расширение, которое вы можете порекомендовать?

Например: «Нет подключения к Интернету»

enter image description here

1 Ответ

0 голосов
/ 01 июня 2018

Вы можете проверить этот ответ - https://stackoverflow.com/a/49129636/6080920

Требуется код

extension UIViewController
{
    func showNotificationView(message : String)
    {
        //base View
        let baseView = UIView(frame: CGRect(x: 20, y: self.view.frame.size.height-(self.view.frame.size.height*0.15), width: self.view.frame.size.width-40, height: self.view.frame.size.height*0.08))
        baseView.backgroundColor = UIColor.gray
        baseView.clipsToBounds=true
        self.view.addSubview(baseView)

        //Image View
        let imageView = UIImageView(image: UIImage(named: "RM_3"))
        imageView.clipsToBounds=true
        imageView.frame = CGRect(x: 0, y: 0, width: baseView.frame.size.width*0.2, height: baseView.frame.size.height)
        baseView.addSubview(imageView)

        //Label
        let textLabel = UILabel(frame: CGRect(x: baseView.frame.size.width*0.2+10, y: 0, width: baseView.frame.size.width, height: baseView.frame.size.height))
        textLabel.textColor = UIColor.white
        textLabel.backgroundColor = UIColor.clear
        textLabel.textAlignment = .left;
        textLabel.numberOfLines = 0
        textLabel.font = UIFont(name: "Montserrat-Light", size: 12.0)
        textLabel.text = message
        baseView.addSubview(textLabel)
    }
}

Использование

@IBAction func navigate(_ sender: Any) {
        self.showNotificationView(message: "hihihihh")
    }
...