Ios 如何在类文件中设置UIView的动画?
我正在开发一个应用程序,用户点击添加一个站点,从那里会出现一个弹出窗口,要求用户提供适当的信息,UIView将被设置动画,但我很难让它从单独的文件内部工作 以下是Animations.swift文件中的代码Ios 如何在类文件中设置UIView的动画?,ios,swift,uiview,Ios,Swift,Uiview,我正在开发一个应用程序,用户点击添加一个站点,从那里会出现一个弹出窗口,要求用户提供适当的信息,UIView将被设置动画,但我很难让它从单独的文件内部工作 以下是Animations.swift文件中的代码 import Foundation import UIKit class Animations: UIView { func animatePopUpIn(view: UIView, controller: UIViewController) { control
import Foundation
import UIKit
class Animations: UIView {
func animatePopUpIn(view: UIView, controller: UIViewController) {
controller.view.addSubview(view)
view.center = center
view.transform = CGAffineTransform.init(scaleX: 1.3, y: 1.3)
view.alpha = 0
UIView.animate(withDuration: 0.4) {
controller.view.alpha = 1
controller.view.transform = CGAffineTransform.identity
}
}
import UIKit
class StationController: UIViewController {
@IBOutlet var addStationView: UIView!
var animation = Animations()
override func viewDidLoad() {
super.viewDidLoad()
navigationItem.title = "Stations"
}
@IBAction func addStationTapped(_ sender: Any) {
animation.animatePopUpIn(view: addStationView, controller: self)
print("Displayed Pop Up")
}
@IBAction func dismissPopUpTapped(_ sender: Any) {
}
}
}
以下是StationController.swift文件的代码
import Foundation
import UIKit
class Animations: UIView {
func animatePopUpIn(view: UIView, controller: UIViewController) {
controller.view.addSubview(view)
view.center = center
view.transform = CGAffineTransform.init(scaleX: 1.3, y: 1.3)
view.alpha = 0
UIView.animate(withDuration: 0.4) {
controller.view.alpha = 1
controller.view.transform = CGAffineTransform.identity
}
}
import UIKit
class StationController: UIViewController {
@IBOutlet var addStationView: UIView!
var animation = Animations()
override func viewDidLoad() {
super.viewDidLoad()
navigationItem.title = "Stations"
}
@IBAction func addStationTapped(_ sender: Any) {
animation.animatePopUpIn(view: addStationView, controller: self)
print("Displayed Pop Up")
}
@IBAction func dismissPopUpTapped(_ sender: Any) {
}
}
出于某种原因,在点击addStationTapped时,没有任何显示,任何帮助都将是非常好的,因为我对以这种方式使用类是相当陌生的。提前感谢。另一个更好的方法是制作单独的viewcontroller并将其添加为popover。您可以使用第三方类或手动将视图控制器添加为pop。如果您想手动添加,我可以提供帮助。您真的需要这个类吗?视图(显示)的大小是多少?如何在IB中创建它?我几乎可以肯定它的大小为零。您可以使用新的Xcode工具进行UI调试-查看层次结构。有时我需要设置弹出窗口的动画。我宁愿有某种类型的类或函数,通过传递适当的参数来自动完成它,这样我就不必一遍又一遍地重写相同的代码。因为视图的大小,它的大小在主情节提要内部。我创建了outlet addStationView来引用它。