我有一个向UIviewcontroller
添加子视图的功能,但是没有用(我使用协议让另一个类将参数传递给函数drawOneProgressBar
)。我尝试了view.setNeedsDisplay()
和view.setNeedsLayout()
,但是都没有用。
override func viewDidLoad() {
}
func drawOneProgressBar(a: Int, b: Int) {
if a > b{
drawOneBar()
} else {
print("StartTime is Bigger Than End Time")
}
}
func drawOneBar() {
let barRect = UIView(frame: CGRect(x: 0, y: 100, width: 200, height: 50))
view.addSubview(barRect)
barRect.backgroundColor = #colorLiteral(red: 0.2588235438, green: 0.7568627596, blue: 0.9686274529, alpha: 1)
}
另一个使用协议部分代码的类是这样的: 首先,我使用一个公共变量来存储我要引用的viewcontroller:
project1.data.progressPage = self.tabBarController!.viewControllers![1] as! Progress
然后上课:
override init(frame: CGRect) {
super.init(frame: frame)
self.backgroundColor = .clear
self.drawBarDelegate = progressPage
}