#import "XXXViewController.h"
@interfaceXXXViewController ()
@end
@implementation XXXViewController
- (void)viewDidLoad
{
self.pTableView=[[UITableViewalloc]initWithFrame:self.view.framestyle:UITableViewStyleGrouped];
self.pTableView.delegate=self;
self.pTableView.dataSource=self;
self.selectIndex = nil;
[self.viewaddSubview:self.pTableView];
pTablePArr=[[NSMutableArrayalloc]init];
for (int i=1; i<9; i++)
{
[pTablePArraddObject:[NSNumbernumberWithInt:i]];
}
}
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [pTablePArrcount];
}
-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *identifier = @"cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
if (cell == nil){
cell = [[[UITableViewCellalloc] initWithStyle:UITableViewCellStyleSubtitlereuseIdentifier:identifier] autorelease];
}
cell.textLabel.text= [NSStringstringWithFormat:@"%@",[pTablePArrobjectAtIndex:[indexPath row]]];
cell.contentView.backgroundColor=[UIColorredColor];
if ([self.selectIndex row]+1==[indexPath row]&&self.selectIndex!=nil )
{
p=[[UIViewalloc]initWithFrame:CGRectMake(0, 0, 200, 150)];
p.backgroundColor=[UIColoryellowColor];
UIButton *pButton=[UIButtonbuttonWithType:UIButtonTypeRoundedRect];
[pButton setFrame:CGRectMake(0, 0, 20, 30)];
[pButton addTarget:selfaction:@selector(asd:) forControlEvents:UIControlEventTouchDown];
[p addSubview:pButton];
[cell.contentViewaddSubview:p];
}
return cell;
}
-(IBAction)asd:(id)sender
{
NSLog(@"yes");
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (!self.selectIndex){
self.selectIndex = indexPath;
[pTablePArr insertObject:@" " atIndex:[indexPath row]+1];
[self.pTableView reloadData];
}
else{
//两次点击不同的cell
if (indexPath.row == self.selectIndex.row){
//收起上次点击展开的cell;
[premoveFromSuperview];
[pTablePArr removeObject:@" "];
self.selectIndex = nil;
[self.pTableView reloadData];
}
if (indexPath.row==self.selectIndex.row+1)
{
}
else{
//若点击相同的cell,收起cell
[pTablePArr removeObject:@" "];
self.selectIndex = nil;
[premoveFromSuperview];
[self.pTableView reloadData];
}
}
[self.pTableViewscrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionNoneanimated:YES];
}
-(BOOL)tableView:(UITableView *)tableView shouldHighlightRowAtIndexPath:(NSIndexPath *)indexPath
{
if (self.selectIndex.row+1==indexPath.row&&self.selectIndex!=nil)
{
return NO;
}
else
{
return YES;
}
}
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.row == self.selectIndex.row+1&& self.selectIndex != nil){
return 180;
}
else
return 55;
}
-(BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
returnYES;
}
- (void)didReceiveMemoryWarning
{
[superdidReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
浙公网安备 33010602011771号