如何在 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 中刷新视图的主要内容,如果未能解决你的问题,请参考以下文章

如何在 UIView swift 中重新加载特定的子视图?

如何在swift ios中刷新标签栏项目

如何在swift中删除行后刷新tableview?

Swift:如何无延迟地刷新 tableview (UIRefreshControl)

如何在单元格 Swift 2 中删除项目后重新加载表格视图

当模态视图(第二个视图)被关闭时刷新 ViewController 中的核心数据 - Swift