添加为子视图时,UITableView不显示滚动指示符

时间:2014-01-16 19:20:26

标签: objective-c uitableview uiscrollview

我有一个视图控制器,我通过Interface Builder将tableview添加为子视图。一切正常,但奇怪的是没有滚动指示器。即使我通过代码启用滚动指示器(_miniTableView是一个强大的插座)

_miniTableView.showsVerticalScrollIndicator = YES;  
[_miniTableView flashScrollIndicators];  

没有滚动指示符出现。 通过插图移动滚动指示器也没有任何作用

_miniTableView.scrollIndicatorInsets = UIEdgeInsetsMake(0,0,0,7);

(在viewWillAppear中调用所有内容)

您可以通过创建一个简单的应用程序并通过界面构建​​器将tableview添加为子视图(而不是通过容器视图)来复制该错误,并且没有滚动指示符。

任何想法?

先谢谢

1 个答案:

答案 0 :(得分:0)

除非可滚动,否则表格视图似乎不会显示滚动指示符。

我使用以下代码验证了它...(只是一个空的项目,如图所示修改了app委托)

@interface AppDelegate()<UITableViewDataSource>
@end

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];

    UITableView * tableView = [ [ UITableView alloc ] initWithFrame:self.window.bounds ] ;
    [self.window addSubview:tableView ] ;

    tableView.dataSource = self ;

    return YES;
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return 30 ; // setting this to 0 results in an empty table view with no scroll indicators...
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell * cell = [ tableView dequeueReusableCellWithIdentifier:@"Cell" ] ;
    if ( !cell )
    {
        cell = [[ UITableViewCell alloc ] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell" ] ;
    }

    cell.textLabel.text = [ NSString stringWithFormat:@"%u", indexPath.row ] ;
    return cell ;
}
@end