Swift 上的扩展文件
Extension files on Swift
大家好,我正在学习 swift,我刚刚了解了扩展
所以我的 UI 中有这个ViewController,我怎样才能在扩展文件中使用这个扩展,这样我就可以在我想要的任何其他 ViewController 中重复使用。
extension UIViewController {
func showToast(message: String){
let toast = UILabel(frame: CGRect(
x: self.view.frame.width/2-75,
y: self.view.frame.height - 100,
width: 150, height: 40))
toast.textAlignment = .center
toast.backgroundColor = .label
toast.textColor = .systemBackground
toast.alpha = 1.0
toast.layer.cornerRadius = 10
toast.clipsToBounds = true
toast.text = message
self.view.addSubview(toast)
UIView.animate(
withDuration: 4.0,
delay: 1.0,
options: .curveEaseInOut,
animations: {
toast.alpha = 0.0
}) { (isCompleted) in
toast.removeFromSuperview()
}
}
}
扩展只是定义可用于其扩展对象的每个实例的方法。
所以对于您的扩展,如果您将该文件添加到您的项目中,您应用中的每个 UIViewController 实例都可以访问您的 showToast(message:)
方法。
大家好,我正在学习 swift,我刚刚了解了扩展
所以我的 UI 中有这个ViewController,我怎样才能在扩展文件中使用这个扩展,这样我就可以在我想要的任何其他 ViewController 中重复使用。
extension UIViewController {
func showToast(message: String){
let toast = UILabel(frame: CGRect(
x: self.view.frame.width/2-75,
y: self.view.frame.height - 100,
width: 150, height: 40))
toast.textAlignment = .center
toast.backgroundColor = .label
toast.textColor = .systemBackground
toast.alpha = 1.0
toast.layer.cornerRadius = 10
toast.clipsToBounds = true
toast.text = message
self.view.addSubview(toast)
UIView.animate(
withDuration: 4.0,
delay: 1.0,
options: .curveEaseInOut,
animations: {
toast.alpha = 0.0
}) { (isCompleted) in
toast.removeFromSuperview()
}
}
}
扩展只是定义可用于其扩展对象的每个实例的方法。
所以对于您的扩展,如果您将该文件添加到您的项目中,您应用中的每个 UIViewController 实例都可以访问您的 showToast(message:)
方法。