uicllectionView程序员iOS Developer

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
上一篇 下一篇

猜你喜欢

热点阅读