禁用UITableViewController的闪烁滚动条?

swi*_*ode 3 scroll objective-c uitableview ios

我有一个UITableViewController,当我从其中一个单元格上的推动动作segue返回时,我想让它不闪动垂直滚动条(弹出视图控制器并返回到UITableViewController).

似乎,如果桌子有很多行(我的大约有20个,每个高度为60个点,比屏幕大),当我回去时,它总是闪烁一次垂直滚动条以显示它在桌子中的位置.但是,我不希望这种情况发生,但我确实希望保持滚动条,以便在用户滚动时显示.因此,完全禁用它不是一种选择.

这是默认行为吗?我可以暂时禁用它吗?

Cez*_*zar 11

有一个更简单的解决方案,不需要避免使用UITableViewController子类.

您可以viewDidAppear:按照http://stackoverflow.com/users/2445863/yonosoytu的说明进行覆盖,但不需要避免调用[super viewDidAppear:animated].在执行此操作之前,只需禁用垂直滚动指示器,然后再将其启用.

- (void)viewDidAppear:(BOOL)animated {
    self.tableView.showsVerticalScrollIndicator = NO;
    [super viewDidAppear:animated];
    self.tableView.showsVerticalScrollIndicator = YES;
}
Run Code Online (Sandbox Code Playgroud)

如果您正在使用Interface Builder,则可以Shows Vertical IndicatortableViewfor 上禁用该选项,UIViewController并在代码中启用它,如上所示.