Day.03.03 UITableView 表視圖代理方法

#import "ViewController.h"

#define kScreenW [UIScreen mainScreen].bounds.size.width
#define kScreenH [UIScreen mainScreen].bounds.size.height

@interface ViewController ()<UITableViewDelegate,UITableViewDataSource>

@property (nonatomic,strong)NSMutableArray *dataList;

@property (nonatomic,strong)UITableView *tableView;

@property (nonatomic,strong)NSIndexPath *selectIP;//選中的索引

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
//    self.view.backgroundColor = [UIColor greenColor];
    
    /**
     *  從工程目錄中讀取文件
     */
    
    //    [NSBundle mainBundle]loadNibNamed:(NSString *) owner:(id) options:(NSDictionary *)
    
    //1.獲取文件路徑
    NSString *path = [[NSBundle mainBundle]pathForResource:@"font" ofType:@"plist"];
    
    //2.通過路徑加載容器對象
    _dataList = [NSMutableArray arrayWithArray:[NSArray arrayWithContentsOfFile:path]];

    //TableView 的尺寸
    _tableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 64, kScreenW, kScreenH-64) style:UITableViewStylePlain];
    
    _tableView.dataSource = self;
    
    _tableView.delegate = self;
    
    [self.view addSubview:_tableView];
    
}

#pragma mark --UITableViewDelegate

//點擊單元格調用
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

    NSLog(@"選中 %ld-%ld",indexPath.section,indexPath.row);
    
    _selectIP = indexPath;//記錄點擊的單元格索引
    
    [tableView reloadData];
    
    //滑動到點擊位置
//    [tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:YES];
}

//
- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath{

    NSLog(@"上一個選中 %ld-%ld",indexPath.section,indexPath.row);
}

//指定單元格高度
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{

    return 50;
}

//指定組的頭視圖高度
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{

    return 50;

}

//指定組的尾視圖高度
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{

    return 50;
}

//設置組頭視圖
- (nullable UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
    
    UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 50, 100)];
    
    label.backgroundColor = [UIColor cyanColor];
    
    label.text = [NSString stringWithFormat:@"section:%ld",section];
    
    return label;
}

//設置組尾視圖 :注意 return UIView類型可以是任何繼承自UIView的類型
- (nullable UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section{

    UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 50, 50)];
    
    label.backgroundColor = [UIColor yellowColor];
    
    label.text = [NSString stringWithFormat:@"section:%ld",section];
    
    return label;
}

/*----------------------------------------------------------------------------------*/

//單元格即將顯示時調用 --> 單元格滑動到可視范圍內
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{

}
//單元格結束顯示時調用 --> 單元格滑動到可視范圍外
- (void)tableView:(UITableView *)tableView didEndDisplayingCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath*)indexPath{
    
}

//指定某一行的輔助視圖
- (UITableViewCellAccessoryType)tableView:(UITableView *)tableView accessoryTypeForRowWithIndexPath:(NSIndexPath *)indexPath{
    
    if (indexPath == _selectIP) {
        
        return UITableViewCellAccessoryCheckmark;
    }

    return UITableViewCellAccessoryNone;
}

#pragma mark --UITableViewDataSource

//可選方法:返回 組個數(shù)
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
    
    return _dataList.count;//組個數(shù)
}

//返回 每個組有多少個單元格
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    
    //1.從datalist中獲取section下標對應的對象--->小數(shù)組(盛放的NSString*)
    NSArray *subArray = _dataList[section];
    
    return subArray.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];
    }
    
    NSArray *subArray = _dataList[indexPath.section];
    
    //(2)在二級數(shù)組中 找到row對應的字符串對象
    cell.textLabel.text = [NSString stringWithFormat:@"%ld-%ld %@",indexPath.section,indexPath.row,subArray[indexPath.row]];
    
    
    
    return cell;
}



@end

屏幕快照 2016-03-03 下午7.56.09.png
屏幕快照 2016-03-03 下午7.50.23.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末铆遭,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子沿猜,更是在濱河造成了極大的恐慌枚荣,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件啼肩,死亡現(xiàn)場離奇詭異橄妆,居然都是意外死亡衙伶,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門害碾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來矢劲,“玉大人,你說我怎么就攤上這事慌随》页粒” “怎么了?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵阁猜,是天一觀的道長丸逸。 經(jīng)常有香客問我,道長剃袍,這世上最難降的妖魔是什么黄刚? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮民效,結果婚禮上憔维,老公的妹妹穿的比我還像新娘。我一直安慰自己畏邢,他們只是感情好埋同,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著棵红,像睡著了一般凶赁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上逆甜,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天虱肄,我揣著相機與錄音,去河邊找鬼交煞。 笑死咏窿,一個胖子當著我的面吹牛,可吹牛的內容都是我干的素征。 我是一名探鬼主播集嵌,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼御毅!你這毒婦竟也來了根欧?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤端蛆,失蹤者是張志新(化名)和其女友劉穎凤粗,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體今豆,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡嫌拣,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年柔袁,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片异逐。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡捶索,死狀恐怖,靈堂內的尸體忽然破棺而出灰瞻,到底是詐尸還是另有隱情情组,我是刑警寧澤,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布箩祥,位于F島的核電站院崇,受9級特大地震影響,放射性物質發(fā)生泄漏袍祖。R本人自食惡果不足惜底瓣,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蕉陋。 院中可真熱鬧捐凭,春花似錦、人聲如沸凳鬓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽缩举。三九已至垦梆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間仅孩,已是汗流浹背托猩。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留辽慕,地道東北人京腥。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像溅蛉,于是被迫代替她去往敵國和親公浪。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內容