我有一个UITableViewController和UIRefreshControl设置。 refreshControl工作并重新加载tableView。问题是我在tableView上面有一个UISegmentedControl,它使用不同的数据重新加载tableView,具体取决于你点击的是哪个段。现在我只希望refreshControl能够处理第一个段(这也是默认值),我想为其他两个UISegmentedControl元素禁用它。这是tableView的屏幕截图:
现在,我只需设置self.refreshControl = nil
就可以隐藏它,这样可以正常工作。问题是,一旦我完成了(通过点击其他UISC元素之一),我就无法恢复在默认表格中工作。我试过在@" Aktuelle Rezepte"之后重置self.refreshControl = savedRefreshControl
。选择了元素,但这不起作用。我进一步尝试使用
[self.refreshControl setEnabled:NO];
[self.refreshControl setHidden:YES];
然后在需要时重置这两个,但这不起作用。你的想法是什么?我完全错过了什么吗?
答案 0 :(得分:0)
我找到了答案 - 这是一个愚蠢的错误。我在我的UITableViewController顶部声明了savedRefreshControl
,但是将其属性设置为(weak, nonatomic)
而不是(strong, nonatomic)
,这就是为什么重置self.refreshControl
不起作用的原因。
正如其他帖子中所提到的那样,请确保在self.refreshControl = nil
仍然刷新时不要这样做,因为它会搞砸应用程序并刷新逻辑。