点击tableview的头视图按钮来达到收放tableview的列表

//

//  ViewController.m

//  XIBForiPad

//

//  Created by Lu_Ca on 15/8/12.

//  Copyright (c) 2015年 Lu_Ca. All rights reserved.

//

//

//点击tableview的头视图按钮来达到收放tableview的列表

//

#import "ViewController.h"

#import "XibForCell.h"

#import "XibModel.h"

@interface
ViewController ()<UITableViewDataSource,UITableViewDelegate>

@end

@implementation ViewController

{

UITableView *_tabelView;

NSMutableArray *_dataSource;

UIButton *button;

XibModel *_modle;

}

- (void)viewDidLoad {

[super
viewDidLoad];

_dataSource = [NSMutableArray
array];

_modle = [[XibModel
alloc] init];

_modle.isOn =
YES;

_tabelView = [[UITableView
alloc] initWithFrame:CGRectMake(0,
0, 1024,
768)
style:UITableViewStyleGrouped];

_tabelView.delegate =
self;

_tabelView.dataSource =
self;

[self.view
addSubview:_tabelView];

for(NSInteger i =
0 ;i<15;i++){

XibModel *model = [[XibModel
alloc] init];

model.name = [NSString
stringWithFormat:@"小明%d",i];

model.age = [NSString
stringWithFormat:@"%d",10+i];

model.sex =
@"男";

[_dataSource
addObject:model];

}

// Do any additional setup after loading the view, typically from a nib.

}

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section

{

return 80;

}

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

{

button = [UIButton
buttonWithType:UIButtonTypeCustom];

button.frame =
CGRectMake(0,
0, 1024,
80);

[button
addTarget:self
action:@selector(clickHeaderButton:)
forControlEvents:UIControlEventTouchUpInside];

button.backgroundColor = [UIColor
redColor];

return button;

}

//点击头视图按钮,是列表达到收放

- (void)clickHeaderButton:(UIButton *)sender

{

//sender.selected = !sender.selected;
用这种方式来区分判断是不行的,因为每次刷新就会调用tableview的头视图,就会重新创建头视图的按钮。达不到效果,所以需要有一个页面加载后只创建一次的变量来记录

_modle.isOn = !_modle.isOn;

[_tabelView
reloadSections:[NSIndexSet
indexSetWithIndex:0]
withRowAnimation:UITableViewRowAnimationAutomatic];

NSIndexPath *indexPath = [NSIndexPath
indexPathForItem:0
inSection:0];

if(_modle.isOn){//选中

[_tabelView
scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionMiddle
animated:YES];

}

}

//不同的情况不同的行数

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

{

if(_modle.isOn){

return _dataSource.count;

}

return 0;

}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath
*)indexPath

{

return 122;

}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath
*)indexPath

{

NSString *cellid =
@"xib";

XibForCell *cell = [tableView
dequeueReusableCellWithIdentifier:cellid];

if(!cell){

cell = [[[NSBundle
mainBundle] loadNibNamed:@"XibForPad"
owner:self
options:nil]
lastObject];

}

XibModel *model =
_dataSource[indexPath.row];

cell.name.text = model.name;

cell.age.text = model.age;

cell.sex.text = model.sex;

return cell;

}

- (void)didReceiveMemoryWarning {

[super
didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

@end

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-05 13:26:07

点击tableview的头视图按钮来达到收放tableview的列表的相关文章

UI tableView 的头视图 &amp; &quot;小广告&quot;

self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height - 64) style:UITableViewStylePlain]; [self.view addSubview:self.tableView]; [_tableView release]; self.tableView.dataSource =

iOS:使头视图随表视图滚动

使tableVIew的头视图使表示图滚动,需要使用设置tableView的分组样式 _tableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStyleGrouped]; 如果分组为一组,直接自定义头视图,然后设置为tableView的headerView, 如果为多组,某些组需要头视图,某些组不需要,需要头视图的正常设置头视图高度,不需要的返回0.01,如果返回nil,会被系统无视,然后返

表视图展开收起 头视图滑动到顶部不动 直到该组单元格全部推上去

类似qq的分组  头视图展开后推到屏幕顶端不动直到该组的单元格全部推上去 实现方法 1.在下面创建表视图的方法里style 设置成UITableViewStylePlain [[ UITableView alloc] initWithFrame:CGRectMake(0, 100, kScreenWide, kScreenHeight - 164) style:UITableViewStylePlain]; 2.表视图的代理方法 要添加设置组的代理方法 - (NSInteger)numberOf

武汉兼职女:点击浏览器或者手机返回按钮,刷新历史页面解决方案

武汉兼职女:点击浏览器或者手机返回按钮,刷新历史页面解决方案 我前面文章中写了返回上一页并刷新页面 的方式.这个是我们点击某个按钮,来进行操作的.但是假如我们不是点击某个按钮,而是直接点击手机下面的返回按钮或者浏览器自带返回按钮,如何刷新之前的历史页面呢? 应用场景假如我们有如下页面列表信息页面 enter image description here 点击进入详情页面,在详情页面修改了数据. enter image description here 通过历史返回,再返回到列表信息页面,因为列表

&quot;UICollectionView实现带头视图和组的头视图同时存在&quot;实现

实现效果如下: 以前做这效果的界面,总是实现的是section的头视图,因为我一直觉得collectionView是不像UITableView那样有tableHeaderView的,所以每次实现只能是判断indexpath.section为0的时候,组合一下视图做第一个section的头视图. 今天看别人写的Swift项目,看到人家代码的实现这效果的简便,我实在是不敢相信这么容易,于是自己赶紧用OC写了个简单的demo,发现还真是能实现呢......好开心.... 实现的源码如下,注释的很清楚啦

collectionView怎么添加头视图

我们要使用CollectionView里面的头视图需要先注册头视图 UICollectionReusableView或者 继承UICollectionReusableView的子类,kind类型为UICollectionElementKindSectionHeader,并且需要带一个标识符,我们定义个static 的静态字符串就行,如下所示: [collectionView registerClass:[UICollectionReusableViewclass ]   forSupplemen

ext Window点击右上角关闭(X按钮)添加监听事件

使用场景:关闭window的时候增加监听事件. 正确的使用方式: addwin = new Ext.Window({ title : '新增', closable : true, width : 500, autoHeight: true, border : false, plain : true, modal : true, layout : 'fit', bodyStyle : 'padding:5px;', maximizable : false,// 禁止最大化 closeAction

隐藏头视图即隐藏UINavigationBar

//隐藏头视图即隐藏UINavigationBar - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ [[UINavigationBar appearance]setTranslucent:NO]; return YES; }

Chrome浏览器点击 input file上传按钮时延迟3-5秒的解决方法

1.  Google chrome 浏览器在52版本之后出现一个bug,就是点击 input file上传按钮时反应很慢,需要等待3-5秒种之后才能弹出选择文件的对话框.比如 windows里可能是这样: MAC里可能是这样: