显示无Internet连接信息一样的Instagram

问题描述:

我不知道我怎样才能让一个“无Internet连接”就怎么样的Instagram这样做,显示无Internet连接信息一样的Instagram

为例:

enter image description here

那透视自定义消息动画显示在navigationController下。真的很喜欢,得到这个我的项目, 谢谢您的帮助

+0

检查https://*.com/questions/13735611/check-for-internet-connection-using-the-ios-sdk – adev

+2

您是否在询问如何检查连接或如何创建此视图? – valcanaia

+0

我猜如何创建这个视图并在没有连接时呈现它@valcanaia – RandomGeek

所以这里是这样的故事板的PIC: -

“没有网络连接”是一个标签,红色视图下方是只是为了测试标签的透视属性。如果您使用代码设计用户界面,则可以使用类似于我的标签,并使用其框架属性将其放置到导航栏的顶部。

Storyboard scene

这里的按钮,我用的只是为了显示在标签上弹出场景(因为它只是一个演示的答案)。在你的情况下,如果互联网不可用,你将继续显示弹出窗口。

因此,如果您在代码中制作UI,请务必在viewDidLoad方法中制作标签。我已经做了IBOutletviewDidLoad现在看起来是这样的: -

override func viewDidLoad() { 
     super.viewDidLoad() 

     let transform = CGAffineTransform(translationX: 0, y: -label.frame.height) 
     label.alpha = 0 
     label.transform = transform 
    } 

在视图加载,我移动的标签导航栏的后面,使用CGAffineTransform。因为我们不希望任何部分被剪切到现场,距离,移动的高度是label的高度。

下一步,只是一个修复。我在制作alpha = 0,因为navBar是半透明的,因此会改变它的颜色,因为我们的标签在它后面。因此,将alpha设置为0,照顾它,并在第三步中应用转换。

现在,如果互联网连接不可用,我们应该弹出navBar下的标签。该代码将是这个样子: -

fun checkInternet() { 
// called by some of your observer, which checks for changes in internet connection 

    if !isInternetAvailable { 

     UIView.animate(withDuration: 0.5, delay: 0, usingSpringWithDamping: 0.3, initialSpringVelocity: 0, options: .curveLinear, animations: { 

     self.label.alpha = 0.5 
     self.label.transform = .identity 
    }, completion: nil) 
    } 
} 

所以在这里,我会告诉弹出使用UIView.animate一些弹簧阻尼动画,所以它有它一个很好的有弹性的效果。我将alpha设置为0.5,因为您提到您需要透视标签,并且将标签设置为转换,这会在创建时将其恢复到原始位置,这就是为什么我使用.identity 。 您可以玩usingSpringWithDamping值并更改options以产生不同的效果。