zoukankan      html  css  js  c++  java
  • 两个tableview 在同一个页面时,出现自动合并的现象

    问题:两个tableview  在同一个页面时,出现自动合并的现象

    问题代码:

    -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
            static NSString *cellIdetify = @"cell";
            UITableViewCell *tvCell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdetify] autorelease];  
            tvCell.selectionStyle = UITableViewCellSelectionStyleGray;
            tvCell.selectionStyle = NO;    //让单元格无法被选中
        
        if (tableView.tag == 1000) {       
            [tvCell addSubview:[arrViews objectAtIndex:indexPath.row]];
            return tvCell;
        }else if (tableView.tag == 2000) {
            [tvCell2 addSubview:[arrViews2 objectAtIndex:indexPath.row]];
            return tvCell2;
        }else {
            return 0;
        }
    }

    原因分析:

    通过仔细阅读上述代码,我们可以发现,这两个tableview 用的是同一种类型的cell,所以,建议不同的tableview使用不同的cell

    建议修改代码如下:

    这样,我们就可以对两个不同的tableview 分比进行编辑和配置了。

    -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {   
        if (tableView.tag == 1000) {
            static NSString *cellIdetify = @"cell";
            UITableViewCell *tvCell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdetify] autorelease];  
            tvCell.selectionStyle = UITableViewCellSelectionStyleGray;
            tvCell.selectionStyle = NO;    //让单元格无法被选中
            
            [tvCell addSubview:[arrViews objectAtIndex:indexPath.row]];
            return tvCell;
        }else if (tableView.tag == 2000) {
            static NSString *cellIdetify2 = @"cell2";
            UITableViewCell *tvCell2 = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdetify2] autorelease];  
            tvCell2.selectionStyle = UITableViewCellSelectionStyleGray;
            tvCell2.selectionStyle = NO;    //让单元格无法被选中
            
            [tvCell2 addSubview:[arrViews2 objectAtIndex:indexPath.row]];
            return tvCell2;
        }else {
            return 0;
        }
    }


    发现:当一个页面有两个tableview时,如果这两个tableview 都没有设置边框的话,那么这两个tableview会出现合并的现象。只要为这两个tableview设置边框。和合适的间距。它们就会分开。 如何为tableview设置边框,详见:
    http://www.cnblogs.com/ygm900/archive/2013/05/19/3087187.html

  • 相关阅读:
    axios express设置跨域允许传递cookie
    yarn常用命令指北
    Web代理工具NProxy
    DevOps的了解
    css图片hover放大
    autoprefixer
    谈谈浏览器http缓存
    欢迎使用 MWeb
    优化关键渲染路径CRP
    chrome 61 更新
  • 原文地址:https://www.cnblogs.com/ygm900/p/3087173.html
Copyright © 2011-2022 走看看