Using iOS 5 : : : I have a scenario where I must create a tableView with Custom Cells. The custom cells have a Controller called TainingCellController Subclass of UITableViewCel
Try working out with dynamic buttons on the same tableView class
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (cell == nil)
{
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"WorkRequestedCC" owner:self options:nil];
{
for (id oneObject in nib) if ([oneObject isKindOfClass:[WorkRequestedCC class]])
cell = (WorkRequestedCC *)oneObject;
}
UILabel *Button=[[UIBUtton alloc]initWithFrame:CGRectMake(792, 13, 10, 15)];
[Button addTarget:self action:@selector(ButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
[cell.contentView addSubview:Button];
}
-(void) ButtonClicked
{
//your code here
}
}
You will set your UITableViewCell
's class to your CustomCell
's class and you will defined IBoutlet
s in CustomCell
class and connect them.
And then you will set your Xib's file owner to your ViewController
, and in your ViewController
you will declare an
IBOutlet CustomCell *yourClassLevelCell;
and connect this IBOutlet
to your Xib's UITableViewCell
now when you will initilize the cell inside your ViewController's
method cellForRowAtIndexPath
you will add target manually, something like this:
CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
[[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil];
cell = yourClassLevelCell;
[cell.button addTarget:self ... ];
//button is IBOutlet in your CustomCell class which you will have
//connected to your Button in xib
}