欢迎来到 常识词典网 , 一个专业的常识知识学习网站!
[ Ctrl + D 键 ]收藏本站
答案 1:
给你关键代码吧,对于排版,-回Xcode看吧= =:=================================////////////////////////////-styleTableViewViewController.- #import < UIKit/UIKit.- > @inte-ce -styleTableViewViewController : UIViewController < UITableViewDelegate , UITableViewDataSource , UIScrollViewDelegate > { UITableView* _tableView; N-utableArray* _array; BOOL *flag; } @property (nonatomic, retain) UITableView *tableView; - (int)numberOfRowsInSection:(NSInteger)section; @end///////////////////////////-styleTableViewViewController.m#import "-styleTableViewViewController.-" @implementation -styleTableViewViewController @synt-esize tableView = _tableView;//////////////////////////////////////////////////////////////////////////////////////// // NSObject - (void)dealloc { free(flag); [_tableView release], _tableView = nil; [super dealloc]; } - (void)viewDidLoad { [super viewDidLoad]; _tableView = [[UITableView alloc] initWit-Frame:[UIScreen -inScreen].bounds style:UITableViewStylePlain]; _tableView.delegate = self; _tableView.dataSource = self; [self.view addSubview:_tableView]; _array = [[N-utableArray alloc] initWit-Objects:[[NSArray alloc] initWit-Objects:@"AA",@"BB",@"CC",@"DD",nil], [[NSArray alloc] initWit-Objects:@"EE",@"FF",@"GG",@"XX",@"ZZ",nil], [[NSArray alloc] initWit-Objects:@"JJ",@"VV",@"EE",@"NN",nil],nil]; flag = (BOOL*)-lloc([_array count]*sizeof(BOOL*)); memset(flag, NO, sizeof(flag)); } //////////////////////////////////////////////////////////////////////////////////////// // #prag- -rk Table view delegate met-ods - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return [_array count]; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return [self numberOfRowsInSection:section]; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPat-:(NSIndexPat- *)Pat- { static NSString *CellIdentifier = @"CellIdentifier"; UITableViewCell *cell = [tableView dequeueReusableCellWit-Identifier:CellIdentifier]; if (cell == nil) { cell = [[[UITableViewCell alloc] initWit-Style:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; cell.selectionStyle = UITableViewCellSelectionStyleNone; } NSString* str = [[_array objectAtIndex:Pat-.section] objectAtIndex:Pat-.row]; cell.textLabel.text = str; return cell; } - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { UIButton *abtn = [UIButton buttonWit-Type:UIButtonTypeRoundedRect]; // abtn.frame = CGRectMake(0, 0, 200, 48); // abtn.titleLabel.text = @"HEADER"; abtn.tag = section; [abtn addTarget:self action:@selector(-eaderClicked:) forControlEvents:UIControlEventTouc-UpInside]; return abtn; } //////////////////////////////////////////////////////////////////////////////////////// // -(void)-eaderClicked:(id)sender { int sectionIndex = ((UIButton*)sender).tag; flag[sectionIndex] = !flag[sectionIndex]; [_tableView reloadData]; } - (int)numberOfRowsInSection:(NSInteger)section { if (flag[section]) { return [(NSArray*)[_array objectAtIndex:section] count]; } else { return 0; } } @end答案 2:
关于这个交互,我认为并不适用于iOS,毕竟在UITableViewStylePlain的状态下,每个默认-eader的高度并不便于点击操作,特别是有若干-eader堆叠的时候,容易出项误click。建议尝试设计别的交互代替,没必要局限于传统的思维,毕竟移动设备有其特殊性。答案 3:
可以使用Navigation Controller实现分组,点击好友分组进入分组列表,同时提供2种返回方式,1:左上角的返回按钮;2:下拉返回。下一篇:中国建国以后的-界,发生过什么事? 下一篇 【方向键 ( → )下一篇】
上一篇:现在电驴(VeryCD)、迅雷的狗狗的都基本不提供下载服务了,仅仅是规避风险吗? 上一篇 【方向键 ( ← )上一篇】
快搜