有没有办法在 UIScrollView 中隐藏滚动指示符?

我有一个用例,这些指示器干扰用户交互。我是否可以子类化并重写一个方法或者做类似的事情从滚动视图中移除滚动指示符?

92387 次浏览

UIScrollViewshowsHorizontalScrollIndicatorshowsVerticalScrollIndicator属性设置为 NO

[tableView setShowsHorizontalScrollIndicator:NO];
[tableView setShowsVerticalScrollIndicator:NO];

文档 -UIScrollView

//UITableView-Objective-C

tbl.showsHorizontalScrollIndicator = NO;
tbl.showsVerticalScrollIndicator = NO;

//UITableView-SWIFT 3.0

tbl.showsHorizontalScrollIndicator = false
tbl.showsVerticalScrollIndicator = false

//UIScrollView-Objective-C

scrl.showsHorizontalScrollIndicator = NO;
scrl.showsVerticalScrollIndicator = NO;

//UIScrollView-SWIFT

scrl.showsHorizontalScrollIndicator = false
scrl.showsVerticalScrollIndicator = false

从 XIB 或故事板更改

enter image description here

这些是你的 UITableView滚动属性:

[YourTableView setShowsHorizontalScrollIndicator:NO];
[YourTableView setShowsVerticalScrollIndicator:NO];

这些是你的 UIScrollView滚动属性:

[YourScroll setShowsHorizontalScrollIndicator:NO];
[YourScroll setShowsVerticalScrollIndicator:NO];

对于那些想在斯威夫特这样做。

self.tableView.showsHorizontalScrollIndicator = false
self.tableView.showsVerticalScrollIndicator = false

用于 Swift 中的 UIScrollView

scrollView?.showsHorizontalScrollIndicator = false
scrollView?.showsVerticalScrollIndicator = false

UIScrollViewUITableViewSwift 3.0扩展:

import Foundation


extension UIScrollView {
func hideIndicators() {
showsHorizontalScrollIndicator = false
showsVerticalScrollIndicator = false
}
}

没有答案为我工作,因为指标的焦点环显示每次,但我解决了我的问题通过 NSStoryboard

NSCollectionView 有一个图表;

Scroll View - Collection View then Clip View then Scroller (vertical) & Scroller (Horizontal)

enter image description here

单击任何 Scroll 对象,然后在 Attributes Inspector中将 Focus Ring属性设置为 None。如果你没有设置它,你可以有一个问题,当用户改变 Appearance之间的 DarkLight