Im totally unsure why my accessory view is not working. I simply want some text to appear to the right of the UITableViewCell (as well as the left), but only the text on the left is displaying.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:@"SwitchCell"];
if (cell==nil){
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:@"SwitchCell"] autorelease];
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(5, 0, 60, 30)];
cell.textLabel.text = @"left text";
label.text = @"right text";
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
cell.accessoryView = label;
[label release];
}
return cell;
}
Any ideas? Thanks.
cell.accessoryView = label;
You are setting your accessoryView to be a label so you're not going to see any disclosure indicator. If you want title and detail text in your cell then init it with UITableViewCellStyleValue2 like this...
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue2 reuseIdentifier:@"cellType"] autorelease];
...and then set the title and detail like this...
cell.textLabel.text = @"Title";
cell.detailTextLabel.text = @"Description";
To get an idea of the different built in table styles check the following image...
You can adjust the textLabel and detailTextLabel to suit your taste.
Why this? You can't have both.
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
-(id)initWithFrame:(CGRect)frame reuseIdentifier:(NSString *)reuseIdentifier
was depreciated in iOS 3.0
Instead use:
-(id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
Pass in either UITableViewCellStyleValue1
or UITableViewCellStyleValue2
and set the textLabel
and detailTextLabel
properties as you need.
http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewCell_Class/Reference/Reference.html%23//apple_ref/doc/uid/TP40006938-CH3-SW34
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With