#import "EFPayViewController.h"
#import "EFDetailMessageTableViewCell.h"
static NSString *EFDetailMessageTableViewCellID = @"EFDetailMessageTableViewCell";
@interface EFPayViewController ()<UIScrollViewDelegate, UITableViewDataSource, UITableViewDelegate, EFDetailMessageDelegate>
@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
@property (weak, nonatomic) IBOutlet UITableView *tableView;
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *heightConstraint;
@end
@implementation EFPayViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"确认支付";
// Do any additional setup after loading the view from its nib.
}
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[self prepareUI];
}
- (void)prepareUI {
// tableView
_tableView.delegate = self;
_tableView.dataSource = self;
// 注册
[_tableView registerNib:[UINib nibWithNibName:EFDetailMessageTableViewCellID bundle:[NSBundle mainBundle]] forCellReuseIdentifier:EFDetailMessageTableViewCellID];
// 去除分割线
_tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
// 关闭弹性效果
_tableView.bounces = NO;
// scrollView
_scrollView.delegate = self;
//关闭滚动条
_scrollView.showsVerticalScrollIndicator = NO;
_scrollView.showsHorizontalScrollIndicator = NO;
_scrollView.contentSize = CGSizeMake([UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height);
}
#pragma mark - 代理方法
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 1;
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
EFDetailMessageTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:EFDetailMessageTableViewCellID forIndexPath:indexPath];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
cell.delegate = self;
#if 0
static NSString *cellName = @"cellName";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellName];
if (!cell) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellName];
}
cell.selectionStyle = UITableViewCellSelectionStyleNone;
cell.textLabel.text = @"test";
#endif
return cell;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 90;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
EFDetailMessageTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:EFDetailMessageTableViewCellID forIndexPath:indexPath];
if (self.heightConstraint.constant == 90) {
self.heightConstraint.constant = 150;
cell.pullDownImage.transform = CGAffineTransformMakeRotation(M_PI/2*2);
[self.tableView reloadData];
} else
self.heightConstraint.constant = 90;
[self.tableView reloadData];
}
- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath {
#if 0
self.heightConstraint.constant = 150;
[self.tableView reloadData];
#endif
}
- (void)efDetailMessage:(UITableViewCell *)cell button:(UIButton *)button {
#if 0
if (!button.selected) {
self.heightConstraint.constant = 100;
}
else {
self.heightConstraint.constant = 150;
}
[_tableView reloadData];
#endif
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end
cell展开与收缩 联动效果
最新推荐文章于 2018-12-09 17:32:58 发布