Come fare UITableView separatore di cella come iOS7?

In iOS 7 , default UITableViewCell separator è un po ‘ il taglio da sinistra in grado di mostrare il cell imageView.

Posso cambiare a piena risoluzione con i seguenti codici.

[self.tableViewMain setSeparatorInset:UIEdgeInsetsMake(0, 0, 0, 0)];

E io la voglio cambiare quando il mio iPad orientamento Verticale.

Così ho provato a seguire i codici di ruotare evento

if(UIInterfaceOrientationIsLandscape(self.interfaceOrientation) ||(UIDeviceOrientationIsLandscape([UIDevice currentDevice].orientation)))
    {
        [self.tableViewMain setSeparatorInset:UIEdgeInsetsMake(0, 0, 0, 0)];
    }

    else
    {
        [self.tableViewMain setSeparatorInset:UIEdgeInsetsMake(15, 0, 0, 0)];
    }

Voglio farlo come iOS7 Separatore di Cella manualmente.

Come posso fare?

InformationsquelleAutor Fire Fist | 2013-10-14



3 Replies
  1. 2

    Qui si va.

    [self.tableViewMain setSeparatorInset:UIEdgeInsetsMake(15, 0, 0, 0)];

    EDIT:

    Sopra la risposta è sbagliata. L’aggiunta di un custom UIView risolverà questo.
    Il cellForRowAtIndexPath dovrebbe giacere questo

    -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
        UIView *lineView;
    
        if (cell == nil)
        {
            cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"];
    
            lineView = [[UIView alloc] initWithFrame:CGRectMake(15, cell.contentView.frame.size.height - 1.0, cell.contentView.frame.size.width, 1)];
    
            [cell.contentView setFrame:CGRectMake(0, 0, cell.contentView.frame.size.width, cell.contentView.frame.size.height-1)];
    
            [cell.textLabel setBackgroundColor:[UIColor clearColor]];
    
            lineView.backgroundColor = [UIColor darkGrayColor];
    
            [cell.contentView addSubview:lineView];
    
            [lineView release]; //IGNORE IF USING ARC
        }
    
        [cell.textLabel setText:@"YOUR_TEXT"];
    
    
        return cell;
    }
    • Se hai trovato utile, quindi contrassegnare come una risposta.
    • mostrare il vostro codice.
    • Per il conscio, il colore di default di iOS 7 separatore sembra essere 0xcccccc o RGB(204, 204, 204), e l’altezza di default 0.5 punti, non 1.0.
  2. 11

    Significa manualmente Interface Builder ? se è il caso, fare clic con il UITableViewCell in IB e andare al terzo pannello, nel Separatore margini scegliere personalizzato e si può mettere il valore left e right.
    Come fare UITableView separatore di cella come iOS7?

    Edit : se vuoi farlo da codice, vedere la documentazione di UIEdgeInsets struttura :
    UIEdgeInsets
    Definisce inserto distanze per la vista.

    typedef struct {
       CGFloat top, left, bottom, right;
    } UIEdgeInsets;

    Quindi per esempio :

    self.tableViewMain.separatorInset = UIEdgeInsetsMake (0, 15, 0,0);
    • no bro. con il codice, come sopra.
    • come impostare l’altezza
  3. 1

    Si dovrebbe valore negativo nel luogo del sinistro inserto

    self.tableView.separatorInset = UIEdgeInsetsMake (0, -15, 0,0);

Lascia un commento