UIScrollViewでスクロールインジケーターを非表示にする方法はありますか?


133

これらのインジケーターがユーザーの操作を妨げるユースケースがあります。メソッドをサブクラス化してオーバーライドしたり、スクロールインジケーターをスクロールビューから削除したりすることはできますか?

回答:


272

showsHorizontalScrollIndicatorおよびshowsVerticalScrollIndicatorプロパティをに設定UIScrollViewNOます。

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

ドキュメント-UIScrollView


ドキュメントから学んだように、直接スクロールビューに使用することもできます![scrollview setShowsHorizo​​ntalScrollIndicator:NO]; @retainCountのおかげで
Rajal

1
iOS 11以降は、viewWillAppearで呼び出す必要があります。viewDidLoadで呼び出すと機能しません
melvinto

61

// 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またはストーリーボードからの変更

ここに画像の説明を入力してください


tableViewにもこのためのチェックボックスがあります-私はxCode 11で作業しています
Andy Weinstein

16

Swiftでこれを実行したい人のために。

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

8

SwiftのUIScrollViewの場合

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

4

これらはあなたのUITableViewスクロールプロパティです:

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

これらはあなたのUIScrollViewスクロールプロパティです:

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

3

Swift 3.0UIScrollViewおよびの拡張子UITableView

import Foundation

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

2
なぜ地獄は拡張機能を使用しているのですか?単純なview.showsHorizo​​ntalScrollIndicator = falseが機能するとき、学習しようとしている人々のための無用なコード行で物事を複雑にしています…
petaire

2
@petaire-あなたは笑を落ち着かせる必要があります。私は実際にその拡張機能が本当に好きです。
quemeful

拡張機能はこれには過剰すぎます。これらの設定を直接使用してください。
Pedro Paulo Amorim

0

インジケーターのフォーカスリングが毎回表示されるため、私には何の答えもありませんでしたが、を使用して問題を解決していますNSStoryboard

NSCollectionViewには図があります。

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

ここに画像の説明を入力してください

Scrollerオブジェクトをクリックしてから、プロパティをにAttributes Inspector設定しFocus RingますNone。あなたがそれを設定していない場合は、ユーザーが変更するときは、問題を持つことができるAppearanceの間DarkLight

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.