Day.03.03 UITableView 表视图方法
2016-03-03 本文已影响46人
挂树上的骷髅怪
#import "ViewController.h"
#define kScreenW [UIScreen mainScreen].bounds.size.width
#define kScreenH [UIScreen mainScreen].bounds.size.height
@interface ViewController ()
@property (nonatomic,strong)NSMutableArray *datalist;
@property (nonatomic,strong)UITableView *tableView;
@property (weak, nonatomic) IBOutlet UITextField *field;
@end
@implementation ViewController
- (IBAction)done:(UIButton *)sender {
//将输入框中的文字转化成数字
NSInteger row = [_field.text integerValue];
//通过row 和 section 创建 indexPath
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:row inSection:0];
/**
*单元格的滑动定位方式
UITableViewScrollPositionNone,
UITableViewScrollPositionTop,
UITableViewScrollPositionMiddle,
UITableViewScrollPositionBottom
*/
//滑动到指定单元格并附带动画
[_tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:YES];
}
//插入新的数据
- (IBAction)insert:(UIButton *)sender {
[_datalist insertObject:@"插入的新数据!" atIndex:0];
//刷新表视图
[_tableView reloadData];
NSLog(@"%@",_datalist);
}
//把cells 打印出来
- (IBAction)visibleCells:(UIButton *)sender {
NSArray *cells = [_tableView visibleCells];
NSLog(@"cells:%@",cells);
}
- (void)viewDidLoad {
[super viewDidLoad];
//背景颜色
self.view.backgroundColor = [UIColor yellowColor];
//
_tableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 64, kScreenW, kScreenH-64) style:UITableViewStylePlain];
_tableView.dataSource = self;
_tableView.delegate = self;
[self.view addSubview:_tableView];
//把字体名字放入可变数组中
_datalist = [NSMutableArray arrayWithArray:[UIFont familyNames]];
/*__________ 表视图方法 _____________________________________________________*/
//1.刷新表视图:当数据源发生更改的时候
[_tableView reloadData];
//2.获取当前显示的cell
// NSArray *cells = [_tableView visibleCells];
//
// NSLog(@"cells:%@",cells);
//2⃣️索引相关
//3.获取当前显示的cell的indexpath
NSArray *indexPath = [_tableView indexPathsForVisibleRows];
//4.获取当前被选中的cell们的索引们
// NSArray *iPs = [_tableView indexPathsForSelectedRows];
//5.获取内容视图上某个矩形区域内的索引们
// NSArray *iPs = [_tableView indexPathsForRowsInRect:CGRectMake(CGFloat x, CGFloat y, CGFloat width, CGFloat height)];
//6.获取指定单元格的索引
// NSIndexPath *indexPath = [_tableView indexPathForCell:(nonnull UITableViewCell *)];
//7.获取指定点所在单元格的索引
// NSIndexPath *ip = [_tableView indexPathForRowAtPoint:(CGPoint)];
//8.获取选中单元格的索引
// NSIndexPath *sip = [_tableView indexPathForSelectedRow];
//3⃣️
//9.表视图滑动到指定的单元格
// [_tableView scrollToRowAtIndexPath:(nonnull NSIndexPath *) atScrollPosition:(UITableViewScrollPosition) animated:(BOOL)];
}
#pragma mark --UITableViewDataSource
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return _datalist.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *identy = @"cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identy];
if (cell == nil) {
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identy];
}
cell.textLabel.text = [_datalist objectAtIndex:indexPath.row];
return cell;
}
@end
屏幕快照 2016-03-03 下午7.40.47.png