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

即使表格比视图大,TableViewController也不会闪烁滚动指示器

  •  15
  • Andrea  · 技术社区  · 16 年前

    文档中说tableViewController也处理这个方法 -当桌子“过大”时,闪光灯会显示可见区域。

    每个“模型”都是从plist文件填充的,plist文件将其内容加载到-viewDIdLoad中的一个数组中,之后所有内容都传递到表中。一切都是以编程方式加载的,没有IB。

    [self.tableView flashScrollIndicators];
    

    我试着把它放得到处都是。首先在-viewDidLoad中(如文档中所建议),然后在viewDidAppear和-viewWillAppear中显示。

    [((UITableView*)self.view) flashScrollIndicators];
    

    …没有结果。

    我已经开始查看Apple示例,我发现在Apple的表视图定制示例(具有不同时间的示例)中,滚动条也不会在那里闪烁。 在sim卡和设备上进行了测试。

    是一个错误吗?有没有一个正确的方式来显示它的编程? 有人能帮我吗? 当做,

    4 回复  |  直到 16 年前
        1
  •  41
  •   matm    13 年前

    或者更简洁地说:

    - (void)viewDidAppear:(BOOL)animated {
      [super viewDidAppear:animated];
      [self.tableView performSelector:@selector(flashScrollIndicators) withObject:nil afterDelay:0];
    }
    
        2
  •  12
  •   jowie    13 年前

    我也有同样的问题。最后,我把一个延迟选择器放在 viewDidAppear: 方法。奇怪的是,我可以设置为0秒,但它仍然可以正常工作。

    - (void)viewDidAppear:(BOOL)animated
    {
        [super viewDidAppear:animated];
    
        [self performSelector:@selector(flashTableScrollIndicators) withObject:nil afterDelay:0.0];
    }
    
    - (void)flashTableScrollIndicators
    {
        [self.tableView flashScrollIndicators];
    }
    
        3
  •  3
  •   Pang Ajmal PraveeN    11 年前

    显示节索引标题时不显示。

    - (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView; 
    
        4
  •  0
  •   lucamegh    11 年前

    我的解决方案是使用“dispatch\u after”稍微延迟发送“flashScrollIndicators()”消息:

    let delayTime = dispatch_time(DISPATCH_TIME_NOW, Int64(0.4 * Double(NSEC_PER_SEC)))
    
    dispatch_after(delayTime, dispatch_get_main_queue(), 
    { () -> Void in 
        myScrollView.flashScrollIndicators() 
    })
    
    推荐文章