UITableView分隔线不会在iPhone应用程序中显示

Aij*_*Ali 3 uitableview ios

我有app我在使用tableView的问题是,当tableView有一个记录时,它不显示分隔线,但显示有两个记录.

tableView中的第一个单元格是textField.这是我正在使用的代码.

    for (UIView *subView in cell.subviews)
    {
    if (subView.tag == 2 || subView.tag == 22) 
    {
        [subView removeFromSuperview];
    }
    }

   tableView.backgroundView=nil;

   tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;

   tableView.separatorInset = UIEdgeInsetsZero;


   if(indexPath.section==0){

   tagInputField =[[UITextField alloc]initWithFrame:CGRectMake(0,0,248,31)];



    tagInputField.contentVerticalAlignment=UIControlContentVerticalAlignmentCenter;
    tagInputField.textAlignment=UITextAlignmentLeft;
    tagInputField.backgroundColor=[UIColor whiteColor];

    tagInputField.tag = 2;
    tagInputField.delegate = self;
    tagInputField.clearButtonMode = UITextFieldViewModeWhileEditing;


    [tagInputField.layer setCornerRadius:5.0f];
    [tagInputField.layer setMasksToBounds:YES];
    tagInputField.layer.borderWidth = 0.3;
    tagInputField.layer.borderColor = [UIColor darkGrayColor].CGColor;


    tagInputField.font=[UIFont fontWithName:@"Myriad-Pro" size:8];
    [tagInputField setText:@"Enter tag here "];
    tagInputField.textColor =[UIColor grayColor];





    tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;

    [cell addSubview:tagInputField];






    return cell;



}


if(indexPath.section==1) {
    UIButton *crossButton =[[UIButton alloc]initWithFrame:CGRectMake(228, 8, 18, 18)];
    crossButton.tag = 22; //use a tag value that is not used for any other subview
    //crossButton.backgroundColor = [UIColor purpleColor];
    crossButton.backgroundColor  = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Cross.png"]];
    [cell addSubview:crossButton];
    cell.textLabel.font =[UIFont fontWithName:@"Myriad-Pro" size:8];
    cell.textLabel.textColor =[UIColor grayColor];

    cell.backgroundColor=[UIColor whiteColor];

    cell.textLabel.text =[tagArray objectAtIndex:indexPath.row];
    [crossButton addTarget:self action:@selector(deleteCell:) forControlEvents:UIControlEventTouchUpInside];


    [tagInputField setFrame:CGRectMake(5,0,248,31)];


    tableView.backgroundColor=[UIColor whiteColor];


    [tagInputField.layer setCornerRadius:0.0f];
    [tagInputField.layer setMasksToBounds:YES];


    tagInputField.layer.borderWidth = 0.0;
    tagInputField.layer.borderColor = [UIColor clearColor].CGColor;




    return cell;
}
Run Code Online (Sandbox Code Playgroud)

Ret*_*tro 5

当你只有1条记录时,分隔符将不显示,你应该在viewDidLoad上为tableView设置分隔符

- (void)viewDidLoad
{
    [self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];
}
Run Code Online (Sandbox Code Playgroud)

并且在任何情况下你想为每个单元格显示你自己的分隔符10尝试通过表格单元格添加一个imageView或somrthing分享

UIView *separatorView = [[UIView alloc] initWithFrame:CGRectMake(0, 43, 1024, 1)];
separatorView.layer.borderColor = [UIColor redColor].CGColor;
separatorView.layer.borderWidth = 1.0;
[cell.contentView addSubview:separatorView];
Run Code Online (Sandbox Code Playgroud)

如何在iPhone中自定义tableView分隔符

去寻求更多......