December 2012
Intermediate to advanced
834 pages
27h
English
The accessories provided to you by the iOS SDK are not sufficient, and you would like to create your own accessories.
Assign an instance of the UIView class to the accessoryView property of any instance
of the UITableViewCell class:
-(UITableViewCell*)tableView:(UITableView*)tableViewcellForRowAtIndexPath:(NSIndexPath*)indexPath{UITableViewCell*result=nil;staticNSString*MyCellIdentifier=@"SimpleCell";/* We will try to retrieve an existing cellwith the given identifier */result=[tableViewdequeueReusableCellWithIdentifier:MyCellIdentifier];if(result==nil){result=[[UITableViewCellalloc]initWithStyle:UITableViewCellStyleDefaultreuseIdentifier:MyCellIdentifier];}result.textLabel.text=[NSStringstringWithFormat:@"Section %ld, Cell %ld",(long)indexPath.section,(long)indexPath.row];UIButton*button=[UIButtonbuttonWithType:UIButtonTypeRoundedRect];button.frame=CGRectMake(0.0f,0.0f,150.0f,25.0f);[buttonsetTitle:@"Expand"forState:UIControlStateNormal];[buttonaddTarget:selfaction:@selector(performExpand:)forControlEvents:UIControlEventTouchUpInside];result.accessoryView=button;returnresult;}
As you can see, this code uses the performExpand: method as the selector for each
button. Here is the definition of this method:
-(void)performExpand:(id)paramSender{/* Take an action here */}
This example code snippet assigns a custom button to the accessory view of every row in the ...
Read now
Unlock full access