Wenn Sie sich für eine andere Lösung für Ihr Problem suchen, dann würde ich Ihnen vorschlagen, eine benutzerdefinierte Zelle programmatisch zu erstellen.
ich Ihnen Schritt für Schritt am Erklären, dies wird Ihnen helfen, besser.
Also für das Erstellen einer Klasse, die von UITableViewCell
erben, und fügen Sie Komponenten, die Sie in Ihrer Tabelle benötigt.
so sieht Ihre .h-Datei so aus.
// -------- ------- START >>
#import <UIKit/UIKit.h>
@interface CustomCell : UITableViewCell{
UIButton *btn1;
UIButton *btn2;
UIButton *btn3;
}
@property(nonatomic , retain) UIButton *btn1;
@property(nonatomic , retain) UIButton *btn2;
@property(nonatomic , retain) UIButton *btn3;
@end
// ------- END ------- < <
und Ihre.m-Datei wird wie folgt aussehen
// -------- ------- START >>
#import "CustomCell.h"
@implementation CustomCell
@synthesize btn1, btn2, btn3;
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
//----frame the components as per your project req.----
btn1 = [[UIButton alloc] initWithFrame:CGRectMake(1, 1, 85, 70)];
[self.contentView addSubview:btn1];
btn2 = [[UIButton alloc] initWithFrame:CGRectMake(100, 1, 85, 70)];
[self.contentView addSubview:btn2];
btn3 = [[UIButton alloc] initWithFrame:CGRectMake(195,1, 85, 70)];
[self.contentView addSubview:btn3];
}
return self;
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
[super setSelected:selected animated:animated];
// Configure the view for the selected state
}
// -------- END- ------ <
Jetzt können Sie diese benutzerdefinierte Zelle in Ihren anderen Klassen wiederverwenden. und können sie auch wie pro Anforderung ändern.
Jetzt in cellForRowAtIndexPath >>
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
{
static NSString *CellIdentifier = @"Cell";
CustomCell *cell = (CustomCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] ;
}
[cell.btN1 setImage:[UIImage imageNamed:@"YOUR IMAGE NAME"] forState:UIControlStateNormal]; // YOU CAN MAKE CHANGES HERE.
................// remaining logic goes here
return cell;
}
HOPE DIES Ihnen helfen.
1 .Also take a look on link tutorial.
2. A Closer Look at Table View Cells
Während in OO Kontext zu denken, ich habe versucht, um Doppelarbeit zu vermeiden; – Ans