底部滚动在表视图中不起作用

时间:2014-04-28 05:33:15

标签: objective-c ios7 uitableview

我有桌面视图。因为我正在显示一个数组。当我滚动tableview时它不会移动到最后一个表格单元格的底部。我应该怎么做。

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {  

return tableResourceArray.count;}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

       NSString *cellIdentifier=[NSString stringWithFormat:@"CustomCell:%d",indexPath.row];

customcell *cell = (customcell *)[tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (cell == nil) {
    cell = [[customcell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];

}
   if(tableView==table) {  
            table.backgroundColor = [UIColor clearColor];
            table.separatorColor=[UIColor clearColor];


    NSDictionary *slug = [category objectAtIndex:indexPath.row];
            NSLog(@"gggg:%@",slug);
            cell.ctitle.text = [NSString stringWithFormat:@"%@", [slug objectForKey:@"title"]];
            cell.ctitle.font=[UIFont fontWithName:@"Arial" size:12];

            cell.cdate.text = [NSString stringWithFormat:@"Date:%@", [slug objectForKey:@"date"]];
            cell.cdate.textColor=[UIColor colorWithRed:0.820 green:0.776 blue:0.526 alpha:1.000];
            cell.ccontent.text = [NSString stringWithFormat:@"%@", [slug objectForKey:@"content"]];

}

3 个答案:

答案 0 :(得分:0)

解决方案1:

您已将标识符声明为非静态变量。这可能会导致滚动问题。

NSString *cellIdentifier=[NSString stringWithFormat:@"CustomCell:%d",indexPath.row];

而是使用以下:

NSString *cellIdentifier= @"CustomCellIdentifier";

静态变量仅用于构造一次,并且无论何时调用“CellForRowAtIndexPath”方法,它都会一直避免内存创建。如果使用非静态变量,则会创建大量可能导致滚动问题的内存。

解决方案2: //不确定。但可能会有所帮助

在使用前分配字典。

    NSDictionary *slug = [[NSDictionary alloc] init];
    slug = [category objectAtIndex:indexPath.row];

答案 1 :(得分:0)

我通过更改表格视图框架来解决问题。

答案 2 :(得分:0)

假设您的屏幕尺寸为320x480,由于您的桌面视图的框架(原点130 +高度480),表格视图框架的底部部分超出了屏幕130。如果你在屏幕底部有更多的子视图来覆盖tableview,那就更好了。更改表格视图框,以便表格视图的底部结束于屏幕底部。