构建项目时收到以下错误消息:
MyUIController:无法转换类型'(LoadingView)的值.Type' (又名' LoadingView.Type')到期望的参数类型' UIView'
如果我的LoadingView类是UIView的子类,我不知道如何获取此错误。
MyUIController:
func loadingToLoading() {
// getting error message at this line
view.addSubview(LoadingView)
loadingView.frame = CGRect(origin: .zero, size: view.frame.size)
}
LoadingView:
import Foundation
import UIKit
final class LoadingView: UIView {
private let spinner = UIActivityIndicatorView(activityIndicatorStyle: .gray)
override init(frame: CGRect) {
spinner.startAnimating()
super.init(frame: frame)
addSubview(spinner)
backgroundColor = UIColor.white
}
@available(*, unavailable)
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func layoutSubviews() {
super.layoutSubviews()
spinner.center = center
}
}
答案 0 :(得分:2)
@nyohu是对的。你在这里做的是加载类定义而不是它的实例。您也可以使用类似这样的框架定义新视图
func loadingToLoading() {
var loadingView = LoadingView(frame: CGRect(origin: .zero, size: view.frame.size))
view.addSubview(loadingView)
}