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?

Jawaban:


272

Setel showsHorizontalScrollIndicatordan showsVerticalScrollIndicatorproperti UIScrollViewuntuk NO.

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

Dokumentasi - UIScrollView


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


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

8

Untuk UIScrollView di Swift

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

4

Ini adalah UITableViewproperti bergulir Anda :

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

Ini adalah UIScrollViewproperti bergulir Anda :

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

3

Swift 3.0ekstensi untuk UIScrollViewdan UITableView:

import Foundation

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

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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.