cell展开与收缩 联动效果
2016-01-07 09:42
183 查看
#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
相关文章推荐
- 个人总结2
- kickstart
- yum安装指定版本的软件包的方法
- iOS基础 归档和解归档
- Tomcat7设置环境变量供java代码读取
- 判断平台以及微信
- ie6、7、8 css hack
- string的增删改查
- zabbix硬件、软件需求
- 零基础制作物理引擎--创造力量
- Linux 命令行界面->GUI界面
- Oracle sql语句执行顺序
- package subfigure conflicts with environment \begin{figure*} in IEEEtran template
- iOS,frame和bounds的区别
- CSS3 Filter的10种特效
- 地图定位 - 转换不同标准坐标系
- 特征向量的几何意义
- 深入浅出js事件
- zabbix进程构成
- Androidndk开发打包时我们应该如何注意平台的兼容(x86,arm,arm-v7a)