删除 UIRefreshControl 默认微调器
Remove UIRefreshControl default spinner
我已经将 UIRefreshControl
子类化为自己的子类,除了一件事我可以管理所有事情:
默认微调器始终可见,当然在我自定义实现中所做的所有操作中。
我找不到微调器 属性 或任何我需要设置为清晰颜色的东西,谁能帮我解决这个问题?
覆盖 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;
}
}
您可能想要做更多的检查,而不仅仅是使用第一个子视图。
要在 UIRefreshControl
中隐藏 Spinner 加载器,请将 .tintColor
属性 设置为清晰的颜色。
例如(Swift):
mRefreshControl.tintColor =.clear
Swift4,Swift5
错误修复
有时只有这段代码不能正常工作:
refreshControl.tintColor = .clear
– 第一次重新加载显示指标:(
这修复了这个错误:
refreshControl.tintColor = .clear
refreshControl.subviews.first?.alpha = 0
我已经将 UIRefreshControl
子类化为自己的子类,除了一件事我可以管理所有事情:
默认微调器始终可见,当然在我自定义实现中所做的所有操作中。
我找不到微调器 属性 或任何我需要设置为清晰颜色的东西,谁能帮我解决这个问题?
覆盖 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;
}
}
您可能想要做更多的检查,而不仅仅是使用第一个子视图。
要在 UIRefreshControl
中隐藏 Spinner 加载器,请将 .tintColor
属性 设置为清晰的颜色。
例如(Swift):
mRefreshControl.tintColor =.clear
Swift4,Swift5
错误修复
有时只有这段代码不能正常工作:
refreshControl.tintColor = .clear
– 第一次重新加载显示指标:(
这修复了这个错误:
refreshControl.tintColor = .clear
refreshControl.subviews.first?.alpha = 0