删除UIRefreshControl默认微调器

时间:2015-10-01 16:25:02

标签: spinner uiactivityindicatorview uirefreshcontrol

我已经将UIRefreshControl子类化为自己的,我可以管理除了一件事之外的所有事情:

默认微调器始终可见,当然是我在自定义实现中完成的所有工作的中间位置。

我无法找到旋转器属性或者我需要将其设置为清晰的颜色,任何人都可以帮助我吗?

3 个答案:

答案 0 :(得分:12)

要在UIRefreshControl中隐藏微调加载程序,请将.tintColor属性设置为清晰颜色。

e.g。 (SWIFT):

mRefreshControl.tintColor =.clear

答案 1 :(得分:1)

覆盖didMoveToSuperview以隐藏微调器的超级视图。

Swift版本:

override func didMoveToSuperview() {
    super.didMoveToSuperview()

    guard let _ = superview else { return }

    self.subviews.first?.alpha = 0 // set hidden = true did not work
}

Objective-C版本:

- (void)didMoveToSuperview {
    [super didMoveToSuperview];

    if (self.superview != nil && self.subviews.count > 0) {
        self.subviews[0].alpha = 0;
    }
}

您可能希望进行更多检查,而不仅仅是使用第一个子视图。

答案 2 :(得分:1)

Swift 4,Swift 5

错误修复

有时只有以下代码无法正常工作:

refreshControl.tintColor = .clear –第一次重新加载显示指示器:(

这修复了该错误:

refreshControl.tintColor = .clear 
refreshControl.subviews.first?.alpha = 0