- 首页 > it技术 > >
目录
1.1 不显示无用cell
1.2 分割线位置调整
1.3 刷新局部
1.4 滚动到底部
1.5 详情按钮点击
1.6 头图放大功能
1.7 侧滑删除
1.8 索引
1.1 不显示无用cellself.tableView.tableFooterView = [[UIView alloc]init];
1.2 分割线位置调整[self.mainTableView setSeparatorInset:UIEdgeInsetsMake(0, 15, 0, 15)];
1.3 刷新局部NSIndexSet *indexSet=[[NSIndexSet alloc]initWithIndex:2];
[self.mainTableView reloadSections:indexSet withRowAnimation:UITableViewRowAnimationAutomatic];
1.4 滚动到底部NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:3];
[self.mainTableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionBottom animated:YES];
1.5 详情按钮点击- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath{NSLog(@"%ld",(long)indexPath.row);
}
1.6 头图放大功能#define SCREEN_WIDTH [UIScreen mainScreen].bounds.size.width //屏幕宽度#define SCREEN_HEIGHT [UIScreen mainScreen].bounds.size.height //屏幕高度#define IMAGE_HEIGHT 200 //屏幕高度@interface ViewController ()< UITableViewDataSource,UITableViewDelegate >@property (weak, nonatomic) IBOutlet UITableView *mainTableView;
@property (nonatomic , strong)UIImageView *headerImageView;
@property (nonatomic , strong)UIView *headerView;
@end- (void)viewDidLoad {[super viewDidLoad];
self.headerView = [[UIView alloc]initWithFrame:CGRectMake(0, 0,
SCREEN_WIDTH, IMAGE_HEIGHT)];
UIImage *image = [UIImage imageNamed:@"1"];
self.headerImageView = [[UIImageView alloc]initWithFrame:CGRectMake
(0, 0, SCREEN_WIDTH, IMAGE_HEIGHT)];
self.headerImageView.image = image;
[self.headerView addSubview: self.headerImageView];
self.mainTableView.tableHeaderView = self.headerView;
}- (void)scrollViewDidScroll:(UIScrollView *)scrollView{CGFloat yOffset = self.mainTableView.contentOffset.y;
//向上偏移量变正 向下偏移量变负if (yOffset <= 0) {CGFloat factor = ABS(yOffset)+ IMAGE_HEIGHT;
CGRect f = CGRectMake(-([[UIScreen mainScreen] bounds].size.width
*factor/(IMAGE_HEIGHT)-[[UIScreen mainScreen] bounds].size.width)/2,
-ABS(yOffset), [[UIScreen mainScreen] bounds].size.width*factor/
(IMAGE_HEIGHT), factor);
self.headerImageView.frame = f;
}else {CGRect f = _headerView.frame;
f.origin.y = 0;
_headerView.frame = f;
self.headerImageView.frame = CGRectMake(0, f.origin.y,
[[UIScreen mainScreen] bounds].size. width, 200);
}
}
1.7.1 侧滑删除- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView
editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
return UITableViewCellEditingStyleDelete;
//return UITableViewCellEditingStyleInsert;
}- (void)tableView:(UITableView *)tableView
commitEditingStyle:(UITableViewCellEditingStyle)editingStyle
forRowAtIndexPath:(NSIndexPath *)indexPath {if(editingStyle == UITableViewCellEditingStyleDelete){[self readButtonClicked:indexPath];
}}// 设置返回的字段名字
- (NSString *)tableView:(UITableView *)tableView
titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath
{
return @"标为已读";
}1.7.2 自定义侧滑删除- (NSArray *)tableView:(UITableView *)tableView
editActionsForRowAtIndexPath:(NSIndexPath *)indexPath
{UITableViewRowAction *deleteAction=[UITableViewRowAction
rowActionWithStyle:UITableViewRowActionStyleDefault title:@"删
除" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) {NSLog(@"删除!");
}];
deleteAction.backgroundColor=[UIColor redColor];
UITableViewRowAction *otherAction=[UITableViewRowAction
rowActionWithStyle:UITableViewRowActionStyleDefault title:@"其他"
handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) {NSLog(@"其他");
}];
otherAction.backgroundColor=[UIColor blueColor];
return @[deleteAction,otherAction];
}
1.8 索引//索引
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView
{NSMutableArray *arr = [NSMutableArray arrayWithCapacity:0];
for (int i=0;
i < self.firstNumArray.count;
i++) {[arr addObject:self.firstNumArray[i][0]];
}}//索引Index
- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index{return index;
}
推荐阅读