【问题标题】:Is there a way to hide the scroll indicators in a UIScrollView?有没有办法隐藏 UIScrollView 中的滚动指示器?
【发布时间】:2010-10-23 17:41:20
【问题描述】:

我有一个用例,其中这些指标会干扰用户交互。我可以继承并覆盖一个方法或执行类似的操作来从滚动视图中删除滚动指示器吗?

【问题讨论】:

    标签: ios uiscrollview


    【解决方案1】:

    UIScrollViewshowsHorizontalScrollIndicatorshowsVerticalScrollIndicator 属性设置为NO

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

    Documentation - UIScrollView

    【讨论】:

    • 从 Docs 中了解到,你甚至可以直接将它用于滚动视图! [scrollview setShowsHorizo​​ntalScrollIndicator:NO];感谢@retainCount
    • 从 iOS 11 开始,应该在 viewWillAppear 中调用,如果在 viewDidLoad 中调用则不起作用
    【解决方案2】:

    //对于 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
    【解决方案3】:

    这些是您的UITableView 滚动属性:

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

    这些是您的UIScrollView 滚动属性:

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

    【讨论】:

      【解决方案4】:

      对于那些希望在 Swift 中执行此操作的人。

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

      【讨论】:

        【解决方案5】:

        对于 Swift 中的 UIScrollView

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

        【讨论】:

          【解决方案6】:

          Swift 3.0 扩展名为 UIScrollViewUITableView

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

          【讨论】:

          • 你为什么要使用扩展?当一个简单的 view.showsHorizo​​ntalScrollIndicator = false 可以工作时,对于那些试图学习的人来说,你用无用的代码行使事情变得复杂......
          • @petaire -- 你需要冷静下来,哈哈。我真的很喜欢这个扩展。
          • 扩展名太大了,请直接使用这些设置。
          【解决方案7】:

          没有任何答案对我有用,因为每次都会显示指标的焦点环,但我通过 NSStoryboard 解决了我的问题。

          NSCollectionView 有图;

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

          单击任何 Scroller 对象,然后在 Attributes Inspector 中将 Focus Ring 属性设置为 None。如果您没有设置它,当用户在DarkLight 之间更改Appearance 时,您可能会遇到问题。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-05-19
            相关资源
            最近更新 更多