尝试使用 setNeedsDisplay()
Posted
技术标签:
【中文标题】尝试使用 setNeedsDisplay()【英文标题】:Trying to use setNeedsDisplay() 【发布时间】:2016-01-18 14:08:19 【问题描述】:我正在尝试重新加载 UIView。其实我得到一个错误
无法将“HomeViewController”类型的值转换为预期的参数类型“UIView”
所以这是代码:
UIView.setNeedsDisplay(self)
你有什么想法吗?
【问题讨论】:
self.setNeedsDisplay()
?
@originaluser2 ,不工作。 “‘HomeViewController’类型的值没有成员‘setNeedsDisplay’”
啊,所以你在UIViewController
。所以你想要self.view.setNeedsDisplay()
@originaluser2 你也知道如何预测天气吗? :-) 还是未来?
@user3441734 如果我愿意的话,也许 ;)
【参考方案1】:
UIView
是一个类,setNeedsDisplay()
是一个实例函数。
您希望在UIView
实例(而不是类本身)上调用此函数。所以你想要:
self.view.setNeedsDisplay();
setNeedsDisplay()
也不接受任何参数,所以我不知道您为什么要尝试将 self
传递给它。
【讨论】:
我正在尝试从 viewDidAppear 重新加载一堆代码,但我不知道该怎么做。实际上,在 viewDidAppear() 我有代码: UIView.animateWithDuration(0.5, .....)。我想动态更改时间,然后我必须以某种方式重新加载视图。有什么想法吗? "我想动态改变时间"...你的意思是你要输入一个变量吗?听起来您对某些重要概念并没有那么确定。我认为您应该好好阅读有关 Swift 的 Apple 文档,这应该可以帮助您理解大部分关键概念:developer.apple.com/library/ios/documentation/Swift/Conceptual/…。如果您仍然不确定,请随时提出其他问题。以上是关于尝试使用 setNeedsDisplay()的主要内容,如果未能解决你的问题,请参考以下文章
使用 drawRect、setNeedsDisplay 和 layoutSubViews
使用 setNeedsDisplay 更新 UIView 不起作用