มีวิธีซ่อนตัวบ่งชี้การเลื่อนใน UIScrollView หรือไม่?


133

ฉันมีกรณีการใช้งานที่ตัวบ่งชี้เหล่านั้นรบกวนการโต้ตอบของผู้ใช้ ฉันสามารถซับคลาสและแทนที่เมธอดหรือทำสิ่งที่คล้ายกันเพื่อลบตัวบ่งชี้การเลื่อนออกจากมุมมองการเลื่อนได้หรือไม่

คำตอบ:


274

การตั้งค่าshowsHorizontalScrollIndicatorและshowsVerticalScrollIndicatorคุณสมบัติของการUIScrollViewNO

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

เอกสารประกอบ - UIScrollView


ตามที่ได้เรียนรู้จากเอกสารคุณยังสามารถใช้เพื่อเลื่อนดูได้โดยตรง! [scrollview setShowsHorizontalScrollIndicator: NO]; ขอบคุณข้อมูล @retainCount
Rajal

1
สำหรับ iOS 11 สิ่งนี้ควรถูกเรียกใน viewWillAppear ซึ่งจะไม่ทำงานหากเรียกใน viewDidLoad
melvinto

63

// สำหรับ 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

17

สำหรับผู้ที่ต้องการทำสิ่งนี้ใน Swift

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

8

สำหรับ UIScrollView ใน Swift

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

4

นี่คือUITableViewคุณสมบัติการเลื่อนของคุณ:

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

นี่คือUIScrollViewคุณสมบัติการเลื่อนของคุณ:

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

4

Swift 3.0ส่วนขยายสำหรับUIScrollViewและUITableView:

import Foundation

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

2
ทำไมคุณถึงใช้ส่วนขยายนรก? คุณกำลังทำให้สิ่งต่าง ๆ ซับซ้อนด้วยบรรทัดรหัสที่ไร้ประโยชน์สำหรับผู้ที่พยายามเรียนรู้เมื่อ view.showsHorizontalScrollIndicator = false จะได้ผล ...
petaire

2
@petaire - คุณต้องใจเย็น ๆ ฮ่า ๆ จริงๆแล้วฉันชอบส่วนขยายนั้นมาก
ดับสยอง

ส่วนขยายมากเกินไปสำหรับสิ่งนี้โปรดใช้การตั้งค่าเหล่านี้โดยตรง
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.