strage uitableview cell behavior:view在单元格内移动

时间:2013-11-23 05:38:49

标签: ios uitableview

我有一些奇怪的uitableview行为 - 我的海关细胞周围有一些额外的空间,我无法解决。我也可以移动那个空间中的细胞。我附上了几张照片,因为我的英语不是让我更好地解释。关于问题可能是什么的任何想法?我可以发布我的自定义单元格的代码,但它甚至发生在admob add cell中,所以我不确定它是否与自定义单元格有关。

编辑:添加了高度代码

EDIT2:我将滚动视图分配更改为

scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.bounds.size.width,self.bounds.size.height)];

它修复了细胞的移动。但那条白线仍在那里。

表格视图

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{


   // return (self.tableViewHome.bounds.size.height-49-6-self.tableViewHome.tableHeaderView.bounds.size.height-self.tableViewHome.tableFooterView.bounds.size.height-GAD_SIZE_320x50.height)/3;
    float height = self.tableViewHome.frame.size.height-self.tableViewHome.tableHeaderView.bounds.size.height-30.0;

    if (indexPath.item==5)
    {
        height=kGADAdSizeBanner.size.height;
    }
    else
    {
        if (indexPath.item==1 || indexPath.item==3)
        {
            height=15.0;
        }
        else
        {
        if (indexPath.item==0 || indexPath.item==2 || indexPath.item==4)
        {
        height=(height-kGADAdSizeBanner.size.height)/3;
        }
        }
    }

    NSLog(@"Height:%f",height);

    return height;
}

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    return 0.1;
}

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
{
    return 0.1;
}

自定义单元格

-(id) initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self)
    {

        scrollView = [[UIScrollView alloc] initWithFrame:self.bounds];
        scrollView.autoresizingMask = UIViewAutoresizingFlexibleHeight;

        [scrollView setShowsHorizontalScrollIndicator:NO];
        [scrollView setShowsVerticalScrollIndicator:NO];


//        NSInteger viewcount= 3;
//        for(int i = 0; i< viewcount; i++) {

//        CGFloat x = 2 * self.bounds.size.width;
        todayView = [HomeTodayView homeTodayView];
        todayView.frame = CGRectMake(0, 0,self.bounds.size.width, self.bounds.size.height);
        todayView.backgroundColor = [UIColor redColor];




        avgView = [HomeAvgView homeAvgView];
        avgView.frame = CGRectMake(self.bounds.size.width, 0, self.bounds.size.width, self.bounds.size.height);


           // [[HomeTodayView alloc] initWithFrame:

        todayView.autoresizingMask = UIViewAutoresizingFlexibleHeight;
        avgView.autoresizingMask = UIViewAutoresizingFlexibleHeight;
        [scrollView addSubview:todayView];
        [scrollView addSubview:avgView];


        scrollView.contentSize = CGSizeMake(self.bounds.size.width *2, self.bounds.size.height+100);
        scrollView.pagingEnabled = YES;
        scrollView.bounces = NO;


        [self addSubview:scrollView];



    }
    return self;
}

Lowest

Max

1 个答案:

答案 0 :(得分:0)

试试这个:

[table setSeparatorStyle:UITableViewCellSeparatorStyleNone];

注意: - table =您的tableview名称。

如果这不起作用,请检查您的自定义单元格高度和tableView的行高是否相同?