如何在 Swift 3 中刷新视图
Posted
技术标签:
【中文标题】如何在 Swift 3 中刷新视图【英文标题】:How to refresh a View in Swift 3 【发布时间】:2017-09-02 09:39:08 【问题描述】:我在同一个 ViewController 上使用两个视图并使用两个动画 1. 翻转动画 2. 背景水平图像动画(图像视图在 view1 上从右向左滑动)。现在,当我从 view1 翻转到 view2 时,一切都是正确的但是,当我从 view2 翻转回 view1 时(幻灯片图像视图动画停止滑动并在 view1 上变为静态)。我需要刷新 view1,因为它工作正常。我使用了 Ved 建议的这两种方法 View1.setNeedsDisplay() View1.setNeedsLayout() 但这也行不通。请分享信息
【问题讨论】:
抱歉,sahil 没有什么重要的要分享的,我只是调用了一个方法两次。实际上,当我从第二个视图返回到第一个视图时,我使用了翻转动画,而不是第一个视图的所有数据都变为静态,我使用水平动画图像视图,它在翻转时停止。 【参考方案1】:在 viewWillappear() 中编写所有代码。这将解决您的问题。
【讨论】:
【参考方案2】:必须将func放入viewWillAppear
override func viewWillAppear(_ animated: Bool)
func run() //Here Code Run
【讨论】:
【参考方案3】:您可以通过调用来使用视图刷新
yourView.setNeedsDisplay() //Updates any drawing, including drawRect()
和
yourView.setNeedsLayout() //Triggers layoutSubviews()
【讨论】:
Ved 感谢您的评论但它不起作用视图保持静止,它没有移动以上是关于如何在 Swift 3 中刷新视图的主要内容,如果未能解决你的问题,请参考以下文章