单元格页面;
点击单元格后的效果图:
选择单元格后的效果图:
.h
#import <UIKit/UIKit.h> @interface RootViewController : UIViewController <UITableViewDataSource,UITableViewDelegate> { UIView * _huiView; UITableView * _btnTableView; UITableView * _tableView; } @end
.m
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. //初始化背景图 [self initBackGroundView]; } #pragma -mark -functions -(void)initBackGroundView { //大的tableView _tableView = [[UITableView alloc] initWithFrame:CGRectMake(0,90, 320, self.view.bounds.size.height )]; _tableView.delegate = self; _tableView.dataSource = self; _tableView.backgroundColor=[UIColor whiteColor]; [self.view addSubview:_tableView]; //点击单元格时候的UIView _huiView = [[UIView alloc] initWithFrame:CGRectMake(-320, 90, 320, self.view.bounds.size.height)]; _huiView.backgroundColor = [UIColor blueColor]; _huiView.alpha=0.9; _huiView.layer.cornerRadius = 10; [self.view addSubview:_huiView]; //三角形 NSString *path = [[NSBundle mainBundle] pathForResource:@"shangwu_shaixuan_sanjiaoxing" ofType:@"png"]; UIImage *image = [[UIImage alloc] initWithContentsOfFile:path]; UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; imageView.frame = CGRectMake(150, 12, 20, 15); [_huiView addSubview:imageView]; //红色的线 UIView * view = [[UIView alloc] initWithFrame:CGRectMake(10, 27, 300, 3)]; view.backgroundColor = [UIColor redColor]; [_huiView addSubview:view]; //用于选择的tableView _btnTableView = [[UITableView alloc] initWithFrame:CGRectMake(10, 30,300,200) style:UITableViewStylePlain]; _btnTableView.delegate = self; _btnTableView.dataSource = self; _btnTableView.layer.cornerRadius = 10; [_huiView addSubview:_btnTableView]; } #pragma -mark -UITableViewDelegate -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { if (tableView == _tableView){ return 100; } return 50; } -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { if (tableView == _tableView){ return 100; } return 5; } -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { if (tableView == _btnTableView){ static NSString * cellName = @"cellName"; UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:cellName]; if (cell == nil){ cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellName]; } if (indexPath.row == 0){ cell.textLabel.text = @""; return cell; } cell.textLabel.text = @"美食"; cell.textLabel.textColor = [UIColor blackColor]; return cell; }else { static NSString * cellName = @"cell"; UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:cellName]; if (cell == nil){ cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellName]; } if (indexPath.row == 0){ cell.textLabel.text = @""; return cell; } cell.textLabel.text = @"锻炼"; cell.textLabel.textColor = [UIColor blackColor]; return cell; } } -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { NSLog(@"----didSelectRowAtIndexPath----"); if (tableView==_tableView) { [UIView animateWithDuration:0.7 animations:^{ _huiView.frame = CGRectMake(0, 45+45, 320, self.view.bounds.size.height); }]; }else{ [UIView animateWithDuration:0.7 animations:^{ _huiView.frame = CGRectMake(-320, 45+45, 320, self.view.bounds.size.height); }]; } }