溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

關(guān)于ui中的表視圖

發(fā)布時(shí)間:2020-07-13 14:14:06 來源:網(wǎng)絡(luò) 閱讀:320 作者:hmymy 欄目:開發(fā)技術(shù)

#import "ViewController.h"


@interface ViewController ()


@end


@implementation ViewController


- (void)viewDidLoad {

    [super viewDidLoad];

    self.data = [NSMutableArray arrayWithArray:[UIFont familyNames]];

    //設(shè)置表視圖分割線風(fēng)格沒有分割線

    //_tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;

    //沒有分割線

    //_tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

    //設(shè)置分割線顏色,默認(rèn)為灰色

    _tableView.separatorColor = [UIColor orangeColor];

    //設(shè)置分割線的偏移量

    //_tableView.separatorInset = UIEdgeInsetsMake(0, -50, 0, -50);

    

    //設(shè)置表視圖的頭部視圖

    UIView *headerView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 0, 160)];

    //創(chuàng)建按鈕

    UIButton *btn = [UIButton buttonWithType:UIButtonTypeContactAdd];

    btn.frame = CGRectMake(100, 50, 100, 100);

    [headerView addSubview:btn];

    

    [btn addTarget:self action:@selector(btn_click:) forControlEvents:UIControlEventTouchUpInside];

    headerView.backgroundColor = [UIColor yellowColor];

    _tableView.tableHeaderView = headerView;

    

    //設(shè)置表視圖的尾部視圖

    UIView *footView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 0, 200)];

    footView.backgroundColor = [UIColor purpleColor];

    _tableView.tableFooterView = footView;

    

    //設(shè)置單元格的行高,默認(rèn)為44,如果要?jiǎng)討B(tài)的設(shè)置行高,需要在代理方法中實(shí)現(xiàn)

    //_tableView.rowHeight = 100;

    

}


- (void)btn_click:(UIButton *)btn{

   //點(diǎn)擊按鈕刪除第一個(gè)元素

    [self.data removeObjectAtIndex:0];

    //刷新表視圖,會(huì)重新執(zhí)行數(shù)據(jù)源方法和代理方法

    //[self.tableView reloadData];

    

    //把第五個(gè)元素改為華文琥珀

    //構(gòu)建IndexPath

    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:5 inSection:0];

    //取到單元格

    UITableViewCell *tvc = [self.tableView cellForRowAtIndexPath:indexPath];

    tvc.textLabel.text = @"華文琥珀";

    

//    //輸出在屏幕上顯示的單元格的內(nèi)容

//    NSArray *cells = [self.tableView visibleCells];

//    for (UITableViewCell *cell in cells) {

//        NSLog(@"cell is %@",cell.textLabel.text);

//    }

//    

//    //輸出在屏幕上顯示的單元格的下標(biāo)

//    NSArray *indexPaths = [self.tableView indexPathsForVisibleRows];

//    for (NSIndexPath *indexPath in indexPaths) {

//        NSLog(@"indexPath is %ld",indexPath.row);

//    }

    

//    //輸出選中的單元格

//    NSArray *selecedRows = [self.tableView indexPathsForSelectedRows];

//    for (NSIndexPath *selectedRow in selecedRows) {

//        NSLog(@"%@",selectedRow);

//    }

    

    //滑動(dòng)到指定位置,可配置動(dòng)畫

    NSIndexPath *indexPath2 = [NSIndexPath indexPathForRow:10 inSection:0];

    [self.tableView scrollToRowAtIndexPath:indexPath2 atScrollPosition:UITableViewScrollPositionTop animated:YES];


}


#pragma mark--UITableViewDataSource

//表視圖的行數(shù)

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

    

    return self.data.count;

}


//單元格內(nèi)容

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

    UITableViewCell *tvCell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil];

    NSString *str = self.data[indexPath.row];

    tvCell.textLabel.text = str;

    return tvCell;

}

//設(shè)置單元格的高度

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

    if (indexPath.row == 3) {

        return 80;

    }else if (indexPath.row == 5){

        return 100;

    }

    return 40;//無效,不會(huì)執(zhí)行

    

}



- (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}


@end


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI