我已经看过这个问题,我找不到答案。展开segue,需要刷新tableview
因此,在我的应用程序的第一页上,我有一个导航控制器中的页面。在那个页面中是一个tableview。在表格的单元格中,有一个按钮。对于单元格的视图控制器,我说如果用户没有登录,则从超级视图中移除按钮。因此,当你第一次加载应用程序时,没有按钮。
现在,如果您单击登录按钮(页面顶部的按钮),它会进入该页面,然后会发生两件可能的事情。起初,我正在做的是让一个segue回到主页面。一切工作都很好。该按钮出现在单元格中。
但我不喜欢如何将主页面的第二个副本添加到导航控制器堆栈。所以我现在探索的是popnavigationcontroller方法和unwind segue。所以他们都工作,但问题是当它展开到新页面时,我之前提到的按钮不会出现在单元格中,即使它应该在用户登录后出现。原因是方法“dequeueReusuableCell”正在使用旧的单元格,其中我删除了该按钮。现在,该按钮被删除,我没有简单的方法将它添加回到视图中的正确位置。
那么这里最好的解决方案是什么?起初,我正在寻找一种方法来“清除”tableView的所有可重用单元,但我不确定是否找到答案。我想做的是当我回到那个导航控制器时,刷新一切,就像有史以来第一次看到它一样。
我想我可以做的另一个解决方案是执行一个正常的从登录页面到主页面,然后删除以前的冗余主导航控制器。有更好的解决方案吗?
不要“删除”单元格中的按钮,只需设置'button.isHidden = true',然后刷新时,可以将isHidden值更改为false –
哇,这很有帮助。该死的我以前看过那个功能,但完全忘了它。非常感谢。 –