Questo sta facendo la mia testa in :-)personalizzato UITableViewCell in modalità di modifica non muovere le UILabels
Ho un CoreData completamente funzionale popolato UITableView
all'interno di un UIViewController
e ho implementato con successo il "scorri per eliminare l'opzione" (che è facile) e posso anche cancellare singole istanze con un pulsante di modifica in cui compare il cerchio rosso.
Il mio problema è, e penso che sia perché ho una CustomCell, che quando premo il pulsante di modifica il UILabels
non si sposta a destra.
Ho provato a utilizzare -(void)layoutSubViews
e pochi altri, ma non funziona.
Ho pubblicato il mio codice per il mio cellForRowAtIndexPath
. Questo fa parte di una sezione di note nella mia app. Questo codice funziona, ho solo bisogno di sapere Come spostare le etichette quando vado in modalità Modifica ??
Grazie per i suggerimenti e consigli :-)
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"Cell";
MNCustomCell *cell = [_mainTableView dequeueReusableCellWithIdentifier:cellIdentifier forIndexPath:indexPath];
if (cell == nil) {
cell = [[MNCustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
}
//cell.textLabel.text = [_tableArray objectAtIndex:indexPath.row];
MNotes *mnotes = [[self fetchedResultsController] objectAtIndexPath:indexPath];
cell.noteTitle.text = mnotes.noteTitleString;
cell.noteSummary.text = mnotes.mainNoteString;
mnotes.createDate = [[NSDate alloc] init];
SORelativeDateTransformer *relativeDateTransformer = [[SORelativeDateTransformer alloc] init];
NSString *relativeDate = [relativeDateTransformer transformedValue:mnotes.createDate];
cell.noteDate.text = relativeDate;
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
return cell;
}
-
//This is the Custom Cell
@interface MNCustomCell : UITableViewCell
{
}
@property (strong, nonatomic) IBOutlet UILabel *noteTitle;
@property (strong, nonatomic) IBOutlet UILabel *noteDate;
@property (strong, nonatomic) IBOutlet UITextView *noteSummary;
@end
-
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
// Initialization code
[self.contentView addSubview:_noteTitle];
[self.contentView addSubview:_noteSummary];
[self.contentView addSubview:_noteDate];
}
return self;
}
Sono le vostre etichette aggiunti direttamente alla cella o fatto li si aggiungono a 'contentView' della cellula? Dovrebbero essere nel 'contentView' per loro per regolare automaticamente quando la cella va in modalità di modifica o sono aggiunte altre decorazioni cellulari. – rmaddy
Ho creato una nuova classe personalizzata e li ho trascinati da Storyboard - penso che significhi che sono direttamente sulla cella, giusto ?? –
Ho aggiunto il codice per la mia cella personalizzata - Non ho aggiunto nulla nel file .m - non ho avuto bisogno di occuparmene fino ad ora. –