io uso un sacco di diversi elementi dell'interfaccia utente nei miei UITableViewCells troppo, perché non provare e sottoclasse UITableViewCell e rotolare la propria classe, con gli articoli come proprietà di la cellula? Sembra funzionare per me.
in VincentsAwesomeCell.h:
@interface VincentsAwesomeCell : UITableViewCell
@property (weak, nonatomic) IBOutlet UILabel *FooLabel;
@property (weak, nonatomic) IBOutlet UILabel *BarLabel;
@property (weak, nonatomic) IBOutlet UIImageView *ShimmyIcon;
@property (weak, nonatomic) IBOutlet UILabel *DooWopLabel;
@property (weak, nonatomic) IBOutlet UIImageView *UseIcon;
@property (weak, nonatomic) IBOutlet UILabel *TheForceLabel;
@property (weak, nonatomic) IBOutlet UIImageView *bobSledIcon;
@property (weak, nonatomic) IBOutlet UILabel *WristWatchLabel;
@property (weak, nonatomic) IBOutlet UILabel *MeatLoafLabel;
@property (weak, nonatomic) IBOutlet UILabel *SciFiLabel;
@property (weak, nonatomic) IBOutlet UILabel *CollinderLabel;
@property (weak, nonatomic) IBOutlet UILabel *RhubarbLabel;
@property (weak, nonatomic) IBOutlet UITextField *SuperTextField;
@property (weak, nonatomic) IBOutlet UIStepper *stepper;
@property (strong, nonatomic) IBOutlet UILabel *amountOfAwesomeness;
Non dimenticare di usare:
in VincentsAwesomeCell.m:
- (void)prepareForReuse {
[super prepareForReuse];
// Always call this!
// Reset custom stuff
}
per ripristinare le proprietà delle cellule per riutilizzare.
Poi, nel tuo TableViewController.m:
- (void) viewDidLoad
{
[super viewDidLoad];
// Register the custom VincentsAwesomeCell NIB with the tableview
UINib *nib = [UINib nibWithNibName:@"VincentsAwesomeCell" bundle:nil];
[[self tableView] registerNib:nib forCellReuseIdentifier:@"VincentsAwesomeCell"];
}
Per quanto riguarda il
- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
Io lo uso per un UIStepper per tenere traccia di quali viene premuto passo-passo per esempio:
[[cell stepper]setTag:indexPath.row];
[[cell stepper]addTarget:self action:@selector(stepperChanged:) forControlEvents:UIControlEventValueChanged];
Spero che questo aiuti!
P.S.
Uso un file .xib per creare il layout della mia cella personalizzata. Basta trascinare un UITableViewCell in InterFaceBuilder e personalizzare via! Non dimenticare di collegare le proprietà però!
HIG iOS: * "Le applicazioni rispondono ai gesti, non ai clic" * http://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/Characteristics/Characteristics.html#//apple_ref/doc/uid/TP40006556-CH7-SW4 – Felix
@ phix23 - Sì, ma come si applica nel mio caso? – itsaboutcode
imposta oggetto personalizzato userInteractionEnabled non è – NANNAV