代码之家  ›  专栏  ›  技术社区  ›  George

UIScrollView不显示滚动指示器

  •  25
  • George  · 技术社区  · 16 年前

    我有一个UIScrollView,我使用。。。

    scrollView.contentSize = CGSizeMake(scrollView.frame.size.width , length);
    

    然后我补充说 subviews UIScrollView . scrollView.showsVerticalScrollIndicator = YES;

    滚动时,滚动指示器从不出现。

    [scrollView flashScrollIndicators] 什么也没发生。

    8 回复  |  直到 16 年前
        1
  •  67
  •   Pegolon    15 年前

    for (NSObject * subview in [[[scrollView subviews] copy] autorelease]) {
        if ([subview isKindOfClass:[MySubView class]]) {
           [(MySubView*)subview removeFromSuperview];
        }
    }   
    

    更新:根据尼古拉的建议更改代码

        2
  •  14
  •   Daniel Tull    16 年前

    当我以前处理过这个问题时,在我的网格实现中,我偶尔会在滚动指示器的顶部得到一些单元格。为了解决这个问题,我现在在索引0处插入子视图,而不是添加它们,这会将它们添加到顶部。因此,请尝试以下方法:

    [scrollview insertSubview:subview atIndex:0];

        3
  •  12
  •   spybart    12 年前

    对我来说,水平指示器在iOS 7上的应用程序中神秘地消失了。后来发现,出于某种奇怪的原因,我不得不同时启用这两个指示器 Shows Horizontal Indicator Shows Vertical Indicator

    enter image description here

        4
  •  8
  •   gnat Nat Poor    13 年前

    我通过在添加新子视图后添加此代码来修复此问题:

    self.showsVerticalScrollIndicator = NO;
    self.showsVerticalScrollIndicator = YES;
    
        5
  •  2
  •   thetrutz    14 年前

    如果contentSize太小,表视图无法滚动,也会发生这种情况(至少在UITableView的情况下)。如果启用了反弹,则tableview实际上不会滚动,因此不会显示指示器。尝试在内部安装更多内容。

        6
  •  2
  •   Guian    12 年前

    如果scrollview的父级为 横向较小 而不是滚动视图本身:

    ScrollView TableView clipToBounds

    我已经看到了这个问题,所以我分享它,以防它能有所帮助。

    卷轴视图 的框架不能大于其父视图框架的宽度。

        7
  •  1
  •   OhadM    9 年前

    两个条件,,

    1. 如果在UIViewController中使用UITableView

    然后,应检查指示器插图是否设置为0(或与自动布局相关的任何其他数字):

    enter image description here

        8
  •  0
  •   Seva Alekseyev    16 年前

    当UIScrollView是一个48像素高的水平条带,可水平滚动时,注意到了这一点。也许Cocoa认为这个区域对于滚动指示器来说太小了。。。