2015-06-04 10 views
7

È possibile che stia andando tutto storto. Così ho creato un UITableView che essenzialmente ha uno spazio finale di layout automatico impostato sulla vista principale. Sto creando una cella personalizzata per questo tavolo, quindi mi drogano su una cella prototipo, la personalizzo e ho creato la mia classe per questo. Funziona tutto bene.iOS - Cella di tabella personalizzata non intera larghezza di UITableView

Quello che non riesco a risolvere è che la cella personalizzata non sta raggiungendo l'intera larghezza della cella della tabella reale, quindi viene visualizzato solo uno sfondo bianco. Se non utilizzo la cella personalizzata, viene utilizzata l'intera cella della tabella della larghezza.

Ho impostato i vincoli per il contenuto della cella in modo che l'immagine di sfondo riempia la cella.

Cosa sto sbagliando? Fatemi sapere cosa avete bisogno per aiutare a risolvere questo.

ProfileCustomCell.h

#import <UIKit/UIKit.h> 

@interface ProfileCustomCell : UITableViewCell { 

} 

@property (nonatomic, strong) IBOutlet UILabel *nameLabel; 
@property (nonatomic, strong) IBOutlet UIImageView *profileImageView; 

@end 

ProfileCustomCell.m

#import "ProfileCustomCell.h" 

@implementation ProfileCustomCell 

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { 

    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; 

    if (self) { 
     self.nameLabel.text = nil; 
    } 

    return self; 

} 

- (void)setSelected:(BOOL)selected animated:(BOOL)animated { 
    [super setSelected:selected animated:animated]; 
} 

@end 

UITableView

[tableView registerNib:[UINib nibWithNibName:@"ProfileCustomCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"Cell"]; 

[tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone]; 

ProfileCustomCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 

cell.nameLabel.text = [NSString stringWithFormat:@"%@", [child objectForKey:@"first_name"]]; 
[cell setSelectionStyle:UITableViewCellSelectionStyleNone]; 

enter image description here

+0

Controllare la dimensione immagine di sfondo di celle di. Immagino sia un problema di layout automatico. – Ryan

+0

È qualcosa di simile alla cellula stessa. Se si trattava solo di un problema di immagine di sfondo, l'etichetta non sarebbe stata dove si trova. Sarebbe tutto a destra. –

+0

indica il colore della cella e identifica la dimensione della cella –

risposta

2

Puoi pubblicare il codice per favore.

Forse si attiva il layout Usa Auto e Classi usare Dimensione come di seguito farlo prima sia nella vista tabella e vista tabella delle cellule.e dimmi il tuo problema

enter image description here

1) Dopo di che selezionare sia l'immagine e l'etichetta e fare come sotto

enter image description here

2) Selezionare l'immagine e fare in basso

enter image description here

3) selezionare l'etichetta di effettuare le seguenti operazioni

enter image description here

Può essere controllato sul link qui sotto:

Table cell content(title) moving left after selecting cell

+0

Questo ha funzionato perfettamente. Originariamente avevo un file xib o una cella, ma ho provato a farlo nello storyboard, ma non funzionava come volevo. Tornando al file xib e impostando Usa layout automatico e Usa classi di dimensione era quello che mi mancava. Grazie! –

+0

Prego. se hai problemi con il layout automatico e lo hai postato sullo stack overflow sentiti libero di informarmi .. sono appassionato di risolvere problemi di Autolayout –

1

Invece di "riempire", i vincoli di layout automatico allo spazio iniziale e finale a 0 costante e assicurarsi che non siano relativi ai margini.

1

selezionare la connessione vostro tavolo della cellula vista ispettore e verificare se non si è collegati.210 editingAccessoryView per errore

enter image description here

Problemi correlati