Apakah ada cara untuk menyembunyikan indikator gulir di UIScrollView?

133

Saya punya kasus penggunaan di mana indikator tersebut mengganggu interaksi pengguna. Bisakah saya mensubklasifikasikan dan mengganti metode atau melakukan sesuatu yang serupa untuk menghapus indikator gulir dari tampilan gulir?

Terima kasih
sumber

Jawaban:

272

Setel showsHorizontalScrollIndicatordan showsVerticalScrollIndicatorproperti UIScrollViewuntuk NO.

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

Dokumentasi - UIScrollView

retainCount
sumber
Seperti yang dipelajari dari Documents, Anda bahkan dapat menggunakannya untuk scrollview secara langsung! [scrollview setShowsHorizontalScrollIndicator: NO]; Terima kasih kepada @retainCount
Rajal
1
Pada iOS 11, ini harus dipanggil dalam viewWillAppear, tidak berfungsi jika dipanggil dalam viewDidLoad
melvinto
61

// Untuk UITableView - Objective-C

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

// Untuk UITableView - SWIFT 3.0

tbl.showsHorizontalScrollIndicator = false
tbl.showsVerticalScrollIndicator = false

// Untuk UIScrollView - Objective-C

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

// Untuk UIScrollView - SWIFT

scrl.showsHorizontalScrollIndicator = false
scrl.showsVerticalScrollIndicator = false

Ubah dari XIB atau storyboard

masukkan deskripsi gambar di sini

Bhavesh Nayi
sumber
tableView juga memiliki kotak centang untuk ini - Saya bekerja dengan xCode 11
Andy Weinstein
16

Bagi mereka yang ingin melakukan ini di Swift.

self.tableView.showsHorizontalScrollIndicator = false
self.tableView.showsVerticalScrollIndicator = false
davidrayowens
sumber
8

Untuk UIScrollView di Swift

scrollView?.showsHorizontalScrollIndicator = false
scrollView?.showsVerticalScrollIndicator = false
mattyU
sumber
4

Ini adalah UITableViewproperti bergulir Anda :

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

Ini adalah UIScrollViewproperti bergulir Anda :

[YourScroll setShowsHorizontalScrollIndicator:NO];
[YourScroll setShowsVerticalScrollIndicator:NO];
Darshan Kunjadiya
sumber
3

Swift 3.0ekstensi untuk UIScrollViewdan UITableView:

import Foundation

extension UIScrollView {
    func hideIndicators() {
        showsHorizontalScrollIndicator = false
        showsVerticalScrollIndicator = false
    }
}
Roman Barzyczak
sumber
2
Kenapa Anda menggunakan ekstensi? Anda menyulitkan hal-hal dengan baris kode yang tidak berguna untuk orang-orang yang mencoba untuk belajar, ketika pandangan sederhana. MenunjukkanHorizontalScrollIndicator = false akan bekerja ...
petaire
2
@petaire - Anda perlu menenangkan lol. Saya sebenarnya sangat menyukai ekstensi itu.
quemeful
Ekstensi terlalu berlebihan untuk ini, silakan gunakan pengaturan ini secara langsung.
Pedro Paulo Amorim
0

Tidak ada jawaban yang berhasil bagi saya karena cincin fokus indikator ditampilkan setiap saat tetapi saya menyelesaikan masalah saya melalui NSStoryboard.

NSCollectionView memiliki diagram;

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

masukkan deskripsi gambar di sini

Klik objek Scroller mana pun kemudian di Attributes Inspectorset Focus Ringproperti ke None. Jika Anda belum menyetelnya, Anda dapat memiliki masalah saat pengguna mengubah Appearanceantara Darkdan Light.

Elia
sumber